2013-05-17 90 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(); 

    } 
}