仅在IQueryable上使用Include扩展。在EF 4.1组件中可用。如果您不想在上层引用该程序集,请在数据访问程序集中创建包装器扩展方法。
这里有例子:
public static IQueryable<T> IncludeMultiple<T>(this IQueryable<T> query, params expression<Func<T, object>>[] includes) where T : class{ if (includes != null) { query = includes.Aggregate(query, (current, include) => current.Include(include)); } return query;}您将使用它作为示例,例如:
var query = context.Customers .IncludeMultiple( c => c.Address, c => c.Orders.Select(o => o.OrderItems));
该查询将向所有客户加载他们的地址和订单,并且每个订单都将包含其订单项。



