2013-05-17 124 views
1

可以選擇實體框架實體的哪部分保留回數據庫嗎?實體框架 - 只保留對數據庫的部分更改

ObjectContext.SaveChanges()保存所有內容,但如果我只想保留某些項目,該怎麼做?

+0

嘗試使用多種環境 –

+0

我想盡量避免可能的話使用多個contextes。 – Nuts

回答

0

您需要從ObjectContext中分離出您不想保留的對象。您可以通過分配其EntityState到獨立如下做到這一點:

context.Products.First().State = EntityState.Detached 

context.Detach(Products.First()); 
0

使用多個環境,以保持不同的數據集的軌跡:

下面的僞代碼應該幫助你。 Cleary有更多的方法,而不僅僅是一個這樣做。

using(ObjectContext context1 = new ObjectContext()) 
{ 
    using(ObjectContext context2 = new ObjectContext()) 
    { 
     //Do Stuff 

     //Now only a portion of your changes are saved to the database 
     context2.SaveChanges(); 

    } 
}