稍微修改这个问题的答案,假设我运行以下代码:public int SaveOrUpdate(MyEntity entity){ var sql = @"MERGE INTO MyEntity USING ( SELECT @id as Id @myField AS MyField ) AS entity ON MyEntity.Id = entity.Id WHEN MATCHED THEN UPDATE SET Id = @id MyField = @myField WHEN NOT MATCHED THEN INSERT (Id, MyField) VALUES (@Id, @myField);" object[] parameters = { new SqlParameter("@id", entity.Id), new SqlParameter("@myField", entity.myField) }; return context.Database.ExecuteSqlCommand(sql, parameters);}这实际上将运行,并返回一个int值。int是什么意思?该文件只是说执行命令后,数据库返回的结果。我做了几次测试,如果修改一行,它看起来是1,如果什么都没改变,它看起来是0。返回值是否修改了行数?
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
对于大多数数据库,这意味着该命令影响的行数。但是我认为,上帝禁止这样的事情存在,数据库供应商可以自由退还任何东西,然后您需要查看特定数据库的文档中数字的含义。
- 1 回答
- 0 关注
- 410 浏览
添加回答
举报
0/150
提交
取消