实体框架渴望加载GREAT GrandChildren

时间:2015-06-16 16:23:48

标签: entity-framework-6 eager-loading

有数百个使用include语句加载Entity Framework对象的例子,但它们没有Great GrandChild对象。

我有一个复杂的对象链接到大约48个表,其中一些超出了提供的简单parent.child.grandchild代码。具体来说,我有一个带有子实体的模式对象,它包含保存地址字段实体的地址实体。 (在其他实体中持有。)

以下是地址大孩子的常用解决方案:

context.StagingPatternSet.Include( sp => sp.StagingPatternEntities.Select( e => e.StagingPatternAddresses ).ToList();

但是如何将StagingPatternAddressField添加到StagingPatternAddresses的子列表中。除了我能找到的第一个选择之外,Linq没有任何补充。

Linq to SQL有一个很棒的扩展,允许我使用DataLoadOptions ...

来定义它
var dlo = new DataLoadOptions();
dlo.LoadWith<StagingPattern>( p => p.StagingPatternEntities );
dlo.LoadWith<StagingPatternEntity>( e => e.StagingPatternAddresses );
dlo.LoadWith<StagingPatternAddress>( a => a.StagingPatternAddressFields );

但是,这不适用于上下文DbSets。您将其设置为SQL数据库的LoadOptions。如果有人对这个问题有一个优雅的解决方案,我将不胜感激。

肯特

0 个答案:

没有答案
相关问题