gpt4 book ai didi

c# - Database.ExecuteSqlCommand 的返回值是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:36 25 4
gpt4 key购买 nike

修改来自 this question 的答案稍微,假设我运行这段代码:

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。整数是什么意思? documentation只是说

The result returned by the database after executing the command.

我做了几个测试,如果它修改了一行,它看起来像是 1,如果没有任何改变,它看起来像是 0。返回值是修改的行数吗?

最佳答案

对于大多数数据库,这意味着受命令影响的行数。不过我的理论是,上帝禁止存在这样的事情,数据库供应商可以自由返回任何东西,然后您需要查看特定数据库的文档以了解数字的含义。

关于c# - Database.ExecuteSqlCommand 的返回值是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49861707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com