Linq异常表达式必须是MemberExpression

时间:2012-02-01 11:22:18

标签: c# linq entity-framework-4 iqueryable

我正在处理linq查询,并根据Mutilevel include in C# Linq中的建议尝试将实体包含到多个级别。

所以我写了一个像

这样的查询
 query.Include(u => u.Stops.Select(d => d.Address).Select(c => c.City));

其中查询

IQueryable<SomeEntity> query

我得到了例外

  

表达式必须是MemberExpression

我的实体的屏幕截图是enter image description here 请帮助,谢谢

1 个答案:

答案 0 :(得分:0)

Include的重载(扩展名?)不支持通过方法链包含。但是,它确实支持包含表达式的嵌套:

query.Include(u => u.Stops.Select(d => d.Address.City));

// this would work too:
categories.Include(u => u.SubCategories.Select(c => c.Items.Select(i => i.Manufacturer)));
// equals
categories.Include("SubCategories.Items.Manufacturer");

Select部分仅用于访问集合类型属性项的成员。