【发布时间】:2019-11-11 09:17:52
【问题描述】:
我想我理解以下错误,但我不知道如何解决它,
"ClassName": "System.NotSupportedException", "Message": "实体或 无法在 LINQ 中构造复杂类型“ChildAccessory”以 实体查询。",
我应该创建一个 DTO 并从存储库中返回它来解决问题还是有更好的解决方法?
我正在尝试获取子配件,但也包括父表中的默认配件。
public class ChildAccessoryRepository: IChildAccessoryRepository {
private readonly EquipmentContext _context;
public DirectoryEquipmentRepository(EquipmentContext context) {
_context = context;
}
public IEnumerable < ChildAccessory > GetChildAccessories(Guid clientReference) {
var accessories = from a in _context.Accessory
join ca in _context.ChildAccessory
on new {
AccessoryId = a.Id, ClientReference = clientReference
}
equals new {
ca.AccessoryId, ca.ClientReference
}
into ca_join
from ca in ca_join.DefaultIfEmpty()
where
ca.IsActive == true ||
ca.IsActive == null
//select ca;
select new ChildAccessory
{
AccessoryId = ca.AccessoryId,
SomeOtherColumn = ca.SomeOtherColumn,
Accessory = ca.Accessory,
});
}
}
【问题讨论】:
标签: c# entity-framework linq entity-framework-6