Я пытаюсь создать код, который будет фильтровать запросы фрейма объекта, которые могут быть повторно использованы и доступны для чтения. Код, который у меня ниже, за исключением случаев, когда я хочу присоединиться к двум фильтрам, как это делалось в закомментированных разделах. Кто-нибудь может дать руководство и руководство о том, как сделать эту работу?Цепочки выражения Lambda
Ниже сообщение об ошибке во время компиляции, что vs2012 отображается, когда линия
//IList<Department> departments3 = context.Set<Department>().Where(isHumanResourcesDepartment || isAccountsDepartment).ToList(); is uncommented
оператор '||' не могут быть применены к операндам типа 'System.Func < EfGenericRepositoryPoc.DataModel.Department, BOOL>' и 'System.Func < EfGenericRepositoryPoc.DataModel.Department, BOOL>'
private static void TestCodeReadability2()
{
EmployeeDepartmentsConnection context = new EmployeeDepartmentsConnection();
IList<Department> departments = context.Set<Department>().Where(isAccountsDepartment).ToList();
IList<Department> departments2 = context.Set<Department>().Where(isHumanResourcesDepartment).ToList();
//IList<Department> departments3 = context.Set<Department>().Where(isHumanResourcesDepartment || isAccountsDepartment).ToList();
}
private static Func<Department, bool> isAccountsDepartment = d=>d.Name.ToLower().Contains("accounts");
private static Func<Department, bool> isHumanResourcesDepartment = d=>d.Name.ToLower().Contains("human resources");
Он нужно сделать, но этого недостаточно. – Servy