使用TPH时查询以包含鉴别器值
本文关键字:鉴别 包含 TPH 查询 使用 | 更新日期: 2023-09-27 18:24:53
当使用TPH时,我有从基继承的不同类型。我们有一个跨抽象类型进行查询的搜索。在结果中,我们希望显示类型:
即。摘要车辆
汽车:车辆卡车:车辆
在结果中,我想显示"类型",即"汽车"answers"卡车"。
我尝试使用GetType().Name,但失败了。
这是样品:
IQueryable<CompanySearchResult> q = from company in _ctx.Companies
select new CompanySearchResult
{
CompanyName = company.CompanyName,
CompanyId = company.Id,
Type = company.GetType().Name
};
您必须推迟投影,直到内存中有实体为止
IEnumerable<CompanySearchResult> q =
_ctx.Companies.ToList()
.Select( company =>
new CompanySearchResult
{
CompanyName = company.CompanyName,
CompanyId = company.Id,
Type = company.GetType().Name
} );
特别是,这意味着在投影之后不应该仍然有IQueryable
,因为您操作内存中的集合。