我有一张大桌子,我需要选择一些不是全部的字段。
我会做这样的事情:
select column 2, column3 from tableName order by column2
但我正在尝试它并且它正在做错误。
public List<RiskCard> GetAllAcitveRiskCardsBasicProperties(Company company)
{
return GetDbSet<RiskCard>()
.Where(i => i.Company.CompanyId == company.CompanyId && i.Active == true)
.OrderBy(o => o.PremisesName)
.Select(o => new RiskCard { RiskCardId = o.RiskCardId, PremisesName = o.PremisesName}).ToList();
}
错误是;
无法在LINQ to Entities查询中构建实体或复杂类型“my.namespace.RiskCard”。
答案 0 :(得分:0)
尝试按照错误消息,不要在LINQ to Entities查询中构造实体,您可以改为创建匿名类型。然后,您可以在LINQ中构造实体,以便稍后进行对象查询:
var query = GetDbSet<RiskCard>()
.Where(i => i.Company.CompanyId == company.CompanyId && i.Active == true)
.OrderBy(o => o.PremisesName)
.Select(o => new { RiskCardId = o.RiskCardId, PremisesName = o.PremisesName})
.ToList();
return query.Select(o => new RiskCard { RiskCardId = o.RiskCardId, PremisesName = o.PremisesName})
.ToList();
相关问题:The entity cannot be constructed in a LINQ to Entities query