Any*_*are 14 c# linq asp.net entity-framework entity-framework-6
我尝试包括这样的匿名类型:我想要incomelist除了的所有属性CompanyTitle,PeriodTypeName)
var incomeList = ctx.IncomeLists.Include(i => new
{
CompanyTitle = i.CompanyId.ToString() + "/" + i.Company.CompanyName,
PeriodTypeName = i.ListPeriods.Select(lp => lp.PeriodType.PeriodTypeName)
}).ToList()
Run Code Online (Sandbox Code Playgroud)
但我得到以下例外:
Include路径表达式必须引用在类型上定义的导航属性.使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性.参数名称:路径
结果应该是Gridview的数据源.
Adi*_*dov 21
您不能使用Include来选择这样的数据.Include用于加载相关数据.您应该使用Include加载实体,然后选择所需内容.记得从CompanyId中删除.ToString().EF会为你做.您的查询应如下所示:
var incomeList = ctx.IncomeLists
.Include(i => i.Company)
.Include(i => i.ListPeriods.Select(lp => lp.PeriodType))
.Select(i => new
{
CompanyTitle = i.CompanyId + "/" + i.Company.CompanyName,
PeriodTypeNames = i.ListPeriods.Select(lp => lp.PeriodType.PeriodTypeName)
})
.ToList();
Run Code Online (Sandbox Code Playgroud)