Я нашел очень хороший ответ на вопрос о создании дерева выражений для запроса Where.Expression.Lambda и генерация запросов во время выполнения, вложенное свойство «Где» пример
Expression.Lambda and query generation at runtime, simplest "Where" example
Может кто-то помочь мне и показать мне, как этот пример может быть реализован в сценарии с вложенной собственности. Я имею в виду, вместо:
var result = query.Where(item => item.Name == "Soap")
С этим решением:
var item = Expression.Parameter(typeof(Item), "item");
var prop = Expression.Property(item, "Name");
var soap = Expression.Constant("Soap");
var equal = Expression.Equal(prop, soap);
var lambda = Expression.Lambda<Func<Item, bool>>(equal, item);
var result = queryableData.Where(lambda);
Как я могу построить дерево для следующего?
var result = query.Where(item => item.Data.Name == "Soap").
Что такое 'Данные'? Указать это свойство –
Sergii благодарит за помощь. Я, наконец, разрешаю это - вы можете проверить его ниже обновления. Вторая строка добавлена, а третья - изменена. –