实体框架 - 仅部分持久更改数据库

时间:2013-05-17 06:02:41

标签: entity-framework-4 save

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

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

2 个答案:

答案 0 :(得分:0)

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

以下psuedo代码可以帮助您。 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();

    }
}

答案 1 :(得分:0)

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

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

context.Detach(Products.First());