首页 > 解决方案 > EF 包括子级实体

问题描述

我有这个查询:

var mapping = await context.MAPPING_COMPANIES
    .Include(x => x.CUSTOMER_INFO)
    .SingleOrDefaultAsync(where => where.AMIN_COMPANY_ID == aminCompanyId);

现在单曲MAPPING_COMPANY将有单曲CUSTOMER_INFO。我还需要包括另外两个实体CUSTOMER_INFO:MASTER_ADDRESS_TYPEMASTER_CUSTOMER_STATUS. 我需要这两个也包含或扁平化CUSTOMER_INFO

我怎么做?我尝试了更多的 Include 语句和组合 Selects,甚至尝试了 ThenIncludeBy.EF6 nuget,但无济于事。

标签: c#entity-framework

解决方案


你试过这个吗?

var mapping = await context.MAPPING_COMPANIES
    .Include(x => x.CUSTOMER_INFO)
    .Include(x => x.CUSTOMER_INFO.MASTER_ADDRESS_TYPE)
    .Include(x => x.CUSTOMER_INFO.MASTER_CUSTOMER_STATUS)
    .SingleOrDefaultAsync(where => where.AMIN_COMPANY_ID == aminCompanyId);

你需要确保你没有Select(),或者我认为GroupBy(),因为 Include() 仅在查询形状与实体集匹配时才有效。


推荐阅读