我刚刚发现了Entity Framework的批量加载,说实话,这就像魔术一样。基本示例:我有一个ParentPart
实体和一个ChildPart
实体,其中ChildPart
引用了PRIMARY KEY Id
的{{1}}。如果我运行ParentPart
实体(ParentPart
)的插入,我可以在创建dbContext.Add(ParentPart)
实体时立即引用ParentPart.Id
,甚至也可以毫无问题地插入该实体ChildPart
。在数据库中尚未实际创建dbContext.Add(ChildPart)
字段时,如何引用呢?
第二,执行此操作的传统方式(非EF)是什么?这只是事务性地工作吗?对于数据库,这看起来像什么?为什么这样的批量加载比一次只插入一次要快?从表面上看,这对我来说没有意义,但是也许数据库代码可以解释魔术。
我直到最近才发现,以某种方式在引用不存在的ID的同时进行批量加载是有可能的,我正尽力使数据库真正处理此问题……