![](/img/trans.png)
[英]What is the correct syntax for using Database.ExecuteSqlCommand with parameters on mysql?
[英]What is the return value of Database.ExecuteSqlCommand?
稍微修改這個問題的答案,假設我運行以下代碼:
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。 返回值是否修改了行數?
對於大多數數據庫,這意味着該命令影響的行數。 但是我認為,上帝禁止這種事情存在,數據庫供應商可以自由退還任何東西,然后您需要查看特定數據庫的文檔中數字的含義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.