1

是否可以选择将实体框架实体的哪一部分持久化回数据库?

ObjectContext.SaveChanges() 保存所有内容,但如果我只想保留某些项目,该怎么做?

4

2 回答 2

0

使用多个上下文来跟踪不同的数据集:

以下伪代码应该可以帮助您。显然,有更多的方法可以做到这一点。

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();

    }
}
于 2013-05-17T06:15:59.587 回答
0

您需要从 ObjectContext 中分离不希望保留的对象。您可以通过将它们的 EntityState 分配给 Detached 来执行此操作,如下所示:

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

或者

context.Detach(Products.First());
于 2013-05-18T17:30:15.407 回答