Я пытаюсь отфильтровать результаты для запроса пользователя. Например, у вас есть orders
и order details
и products
- детская коллекция.Как фильтровать дочернюю коллекцию с помощью linq dynamic
Когда пользователь хочет фильтровать продукт я получаю сообщение об ошибке из-за No property or field 'PRODUCTS' exists in type 'ICollection
1'`
Я пишу мой запрос, как это.
var orders = _uow.Repository<ORDERS>()
.Query()
.Where("PRODUCTS.HEADING.ToLower().Contains(\"foo\")")
.Include("ORDER_DETAILS")
.Include("ORDER_DETAILS.PRODUCTS")
.ToList();
Невозможно отфильтровать дочернюю коллекцию как это? Или любой способ фильтрации?
Спасибо.
Вам не нужно делать .Inculde ("ORDER_DETAILS"), это достаточно сделать. Включить ("ORDER_DETAILS.PRODUCTS"). Вы можете попробовать без строки .Include ("ORDER_DETAILS") и посмотреть, что произойдет. – meJustAndrew
Заказ столов типа ЗАКАЗОВ -> ORDER_DETAILS -> ПРОДУКТЫ. Поэтому я должен включить ORDER_DETAILS, потому что содержит productID. – Kadir
Я понимаю, но прошу взглянуть на примеры [msdn] (https://msdn.microsoft.com/en-us/library/bb738708 (v = vs.110) .aspx), они говорят, что в вашем случае например, ORDER_DETAILS будет включен, если вы только делаете .Include ("ORDER_DETAILS.PRODUCTS"). – meJustAndrew