是否可以选择将实体框架实体的哪一部分持久化回数据库?
ObjectContext.SaveChanges() 保存所有内容,但如果我只想保留某些项目,该怎么做?
是否可以选择将实体框架实体的哪一部分持久化回数据库?
ObjectContext.SaveChanges() 保存所有内容,但如果我只想保留某些项目,该怎么做?
使用多个上下文来跟踪不同的数据集:
以下伪代码应该可以帮助您。显然,有更多的方法可以做到这一点。
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();
}
}
您需要从 ObjectContext 中分离不希望保留的对象。您可以通过将它们的 EntityState 分配给 Detached 来执行此操作,如下所示:
context.Products.First().State = EntityState.Detached
或者
context.Detach(Products.First());