首页 > 解决方案 > 英孚父母/子女关系

问题描述

我们正在使用 EF 处理非常大的事务(理解 EF 不适合大型事务)试图将它们分成更小的批次以节省内存/提高性能等......为了做到这一点,我们正在尝试保存项目具有父关系...但没有将父项与项一起保存(然后我们将手动修改数据库中的数据)我们遇到的问题是,当我们这样做时,上下文正在检索其中的所有子项数据库。有没有办法告诉上下文我们只想更新我们刚刚添加的项目?(我们要避免查询整个 Children 表。)

public class Child
{
    Parent _parent { get; set; }  //parent_key is a foreign key in the child table
    ComplexType _complexType { get; set; }
}

public class MyContext: DbContext 
 {
        public DbSet<Child> Children { get; set; }
 }

 public class Example {

        public void ShowExample(List<Child> bunchOfChildren)
        {
            var context = new MyContext();
            context.Children.Add(bunchOfChildren);
            context.SaveChanges();   //when we just add children (without setting the parent) EF returns EVERY child we've ever saved in the database!!
                                                                //...how can we limit it to the children we just added?
        }
}

标签: .netentity-framework

解决方案


推荐阅读