Я использую LINQKit для расширения LINQ к возможностям Entities:Невозможно бросить исключение объекта при использовании LINQ To Entities с LINQKit
public Boolean IsMatched(Int32 age)
{
return age > 18;
}
public IQueryable<Users> GetAllMatchedUsers(Func<Int32, Boolean> isMatched)
{
return qry = _Context.Users.AsExpandable().Where(x => x.IsActive && isMatched(x.Age));
}
Этот код используется для Entity Framework ORM объектов (_Context является DbContext, пользователей - это DBSet)
Этот код генерирует следующие исключения
Невозможно привести объект типа 'System.Linq.Expressions.FieldExpression' ввести 'System.Linq.Expressions.LambdaExpression'
Избавление от Func и жестко прописывать IsMatched в GetAllMatchedUsers решает эту проблему. Но мне нужно использовать Func пройти различные критерии выбора из Business Logic Layer к моему Data Access Layer
П. С. IsMatched существенно упрощается реализация, например, конечно
Помогите мне пожалуйста.
Вам также не хватает имени параметра в коде или оно находится здесь? –
Просто здесь :) Я скорректировал свой пример кода. – bairog
Добавил дополнительную информацию о том, что такое _Context и пользователи – bairog