Сущность или> сложный тип 'ChildAccessory' нельзя создать в запросе LINQ to> Entities - PullRequest
0 голосов
/ 11 ноября 2019

Мне кажется, я понимаю следующую ошибку, но я не уверен, как ее исправить,

"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,
                                   });

 }
}

1 Ответ

0 голосов
/ 11 ноября 2019

Есть ли у ChildAccessory конструктор без параметров?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...