檢查實體框架中的插入或更新是否成功

entity-framework savechanges

在ADO.NET中,ExecuteNonQuery()“對於UPDATE,INSERT和DELETE語句,返回值是受命令影響的行數”( http://msdn.microsoft.com/en-us/library/system。 data.sqlclient.sqlcommand.executenonquery.aspx

在EF v1中,context.SaveChanges()方法返回“調用SaveChanges時處於已添加,已修改或已刪除狀態的對像數”。 ( http://msdn.microsoft.com/en-us/library/bb739065.aspx

請告訴我,當多個實體(或單個實體)被添加或更新到context和context.SaveChanges()方法時,如何檢查實際的INSERT或UPDATE是否成功。

如果INSERT(s)或UPDATE(s)成功沒有異常,我們可以假設嗎?

謝謝

一般承認的答案

是的,如果沒有異常,您可以認為語句已成功執行。


熱門答案

也許這不是問題的直接答案,但可能有所幫助。默認情況下,調用SaveChanges方法時,所有命令都封裝在一個DbTransaction中( Julia Lerman,編程實體框架 )。因此,或者所有命令都將成功執行,或者兩者都不成功。這是了解插入,更新或刪除是否成功的一種方法。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因