context.SaveChanges 在没有任何更改的情况下更新时返回 0

use*_*990 4 c# entity-framework

如果我只点击更新按钮,则 context.SaveChanges() 返回 0。如果我不做任何更改而只是点击更新按钮,它会返回 0。我正在检查 SaveChanges 返回的值。SaveChanges 返回 0 的条件是什么。返回值表示什么?

以下是我的代码。

int returnValue = CS.SaveChanges();
                   return returnValue == 1 ? "User profile has been updated successfully" : "Unable to update";
Run Code Online (Sandbox Code Playgroud)

Mar*_*rco 11

根据文档,返回值是上下文中更新的对象数:

Return Value
Type: System.Int32
The number of objects written to the underlying database.
Run Code Online (Sandbox Code Playgroud)

所以你的方法可能是这样的:

int returnValue = CS.SaveChanges();
return returnValue > 0 ? 
    String.Format("{0} User profiles have been updated successfully.", returnvalue) : 
    "No updates have been written to the database.";
Run Code Online (Sandbox Code Playgroud)