У меня есть запрос с EF Core, в который я хотел бы включить свойство и из этого свойства, что это ICollection, я хотел бы отфильтровать, какие данные получить.
Это что-то вроде этого:
myDbContext.MyEntity.Where(x => x.ID == 1).Include(x => x.MyCollection.Where(y => y.isEnabled == true));
Однако я получаю сообщение об ошибке, поскольку невозможно отфильтровать включенные свойства.
На самом деле элементов в коллекции будет немного, около 6 или 7,поэтому я подумал, что мог бы включить все и затем отфильтровать данные в клиенте.
Другой вариант - сначала получить основную сущность, а во втором запросе получить дочерние элементы, которые мне действительно нужны.
Я всегда читал, что соединения с базой данных дороги, поэтому лучше выполнять как можно меньше запросов, но также я читал, что лучше всего получать только те данные, которые мне нужны, и не фильтровать.в клиенте, но лучше фильтровать в запросе.
Но в этом случае, с EF Core, кажется, что я не могу фильтровать в запросе, поэтому я хотел бы знать, что лучше,2 запроса и получают только те данные, которые мне нужны, или один запрос, получающий все данные и фильтрующий позже в клиенте.