使用EntityFramework包含OfType

时间:2016-03-17 09:45:38

标签: c# entity-framework linq-to-sql

在我的查询中,我需要包含(以避免延迟加载)实体列表。

query.Include(x => x.ActionValues.Select(a => a.ActionValueDetails));

这没有任何问题,但在某些情况下我需要另一个急切的 ActionValueDetail 加载属性。 ActionValueDetail是它的许多其他实现的基类。对于这些情况,我的代码看起来像这样:

query.Include(t => t.ActionValues.Select(a => a.ActionValueDetails.OfType<ActionValueDetailSpecial>().Select(d => d.SpecialDetail)));

但这总是会引发异常。

  

Include路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。

我不知道如何解决这个问题。 在这种情况下,使用延迟加载或投影不是我的选择。对于非常大的导出,我们需要这个,以确保在我们写入流之前加载所有数据。

任何帮助都会很棒!

0 个答案:

没有答案