0
在Code-First實體框架中,是否有辦法修改事務行爲,以便它不會丟棄所有更改,而是將所有更改保留到故障點?如何修改EF Code First中的事務行爲
例如:
foreach {var objectToSave in ArrayOfEntityObjects)
{
MyContext.Insert(objectToSave);
}
try
{
MyContext.SaveChanges();
}
catch (Exception x)
{
//handling code
}
在上述示例中,假設該陣列是100個對象的陣列,並且,關於項目50發生了錯誤,我想保持的是成功的那些,至至少有一點失敗。知道我們在foreach循環的每次迭代期間執行MyContext.SaveChanges()命令來執行此操作,但我們希望在一次提交中提交數據庫的性能提高(我們的理解是EF一次發送所有命令對於交易,通過單個連接,因此僅使用一次往返)。
不,當您意識到錯誤時,事務已經回滾。我會承認20-50的大塊變化。無論如何,減少交易規模有時是有益的。 – 2013-02-08 13:59:02
謝謝。這基本上是我們的想法。仍然希望有人知道一種方式。 – Gustyn 2013-02-09 02:11:54