稍微修改这个问题的答案,假设我运行以下代码:
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。返回值是否修改了行数?
一只甜甜圈
相关分类