2013-08-27 106 views
1

我使用EF 4作爲我的項目。我有身份字段作爲其中一些實體的主鍵。實體框架和失敗的更新

現在,如果由於某種原因,當我嘗試插入一個新行並且SaveChanges()失敗時,我假設身份值仍然會增加,並且會在序列中出現中斷。

我的問題是如果我在一個循環中保存了很多實體?對於我添加到上下文中的錯誤,但在SaveChanges()...上出錯時,它們是否會導致每次對SaveChanges()的後續調用時都會增加標識值,因爲這些實體從未提交到數據庫?

回答

1

如果SaveChanges失敗,您將收到一個異常,您將無法進一步保存更多項目,因爲一次又一次地調用SaveChanges將無法保存上次未保存的更改。

身份永遠不會中斷,它不是管理Identity的Entity Framework,而是SQL Server,無論Entity Framework的失敗,SQL Server都會正確地完成它的工作。

+0

謝謝...有道理.. –