Мне кажется, я понимаю следующую ошибку, но я не уверен, как ее исправить,
"ClassName": "System.NotSupportedException", "Message": "Сущность или сложный тип"ChildAccessory 'не может быть создан в запросе LINQ to Entities. ",
Должен ли я создать 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,
});
}
}