Expression<Func<SystemUser, object>>[] includeProperties = {
x => x.Company.CompanyAddresses.Where(z=>z.AddressTypeId==5)
.Select(y => y.Address.Country.CountryRegions)
};
var user = _SystemUserRepository.GetById(userID, includeProperties);
当我执行上面的查询时,它会抛出异常&#34; Include路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。&#34;
如果我删除&#34;其中&#34;来自查询的子句,它执行正常。
任何人都可以解释原因吗?
答案 0 :(得分:1)
您需要先包含该属性。
尝试这样的事情:
x => x.Company.Include(y=>y.CompanyAddresses)
.Where(z=>z.CompanyAddresses.AddressTypeId==5)
.Select(y => y.Address.Country.CountryRegions)
您还可以参考this post并查看此SO Post (conditional include in linq to entities)