.net - 英孚父母/子女关系
问题描述
我们正在使用 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?
}
}
解决方案
推荐阅读
- actions-on-google - 如何从 Dialogflow JSON Fulfillment V2 上的轮播中“getSelectedOption”
- c++ - 构造函数初始值设定项列表未调用复制构造函数
- r - 用 R 中的多列转置数据框中的 n 行
- html - 改变 style.css 没有区别
- sql - Oracle SQL 案例
- spring - 使用 websocket 实时更新 Angular 应用数据
- python - pygame 'screen' 未定义
- android - 将数据从 Android AIDL 发送到多个客户端
- javascript - 在 iOS 浏览器上将商品添加到购物车时播放声音
- android - 将 .pb 转换为 .tflite 时 Dequantize 的自定义实现