Я пытаюсь создать предложение Contains в существующих списках свойств Func, но я не знаю, как его присоединить к ранее прошедшему списку свойств.Добавить Содержит к существующему объекту Func <T, object>
public static List<Func<T, bool>> GetPropertyWhereClauses<T>(List<Func<T, object>> properties, string queryPhrase)
{
var whereClauses = new List<Func<T, bool>>();
foreach (var property in properties)
{
/// how to add Contains to existing property Func<T, object> ?
whereClauses.Add(property.Contains(queryPhrase));
}
return whereClauses;
}
Как это добавить? Я попытался использовать некоторый Expression.Call, но он не принимает параметр Func.
Это сработало, но у меня проблема с тем же для Linq Include.When я пытаюсь использовать 'query = query.Include (x => include (x));' where include is 'Func' Я получаю сообщение об ошибке : Выражение Include path должно ссылаться на свойство навигации, определенное в типе. –
Staly
Вы не можете использовать этот подход с LINQ to Entities для фильтрации элементов в методе Include, пожалуйста, обратитесь к [this] (http://stackoverflow.com/questions/25629022/filtering-include-items-in-linq-and вопрос об альтернативах. – YuvShap
Я имею в виду еще что-то. Я хочу добавить Include к моему запросу не строкой, а Func. Невозможно сделать это через объект. –
Staly