Не уверен, что это лучший подход, но вот мои мысли
Я использую Entity Framework Data Model v 4.1 - я пытаюсь построить оператор where динамически, чтобы мне не приходилось каждый раз запрашивать базу данных, вместо этого я могу создать «список» условных выражений, а затем применить их все в один раз, так что БД запрашивается только один раз, а не каждый раз, когда я добавляю свои новые условия - если это имеет смысл ...
вот что у меня есть
List<Func<Order, bool>> orderFunctions = new List<Func<Order, bool>>();
if (this.LoggedInUser.UserId == 9)
{
Func<Order, bool> deleg = o => o.Status.Equals(OrderStatus.NewOrder);
orderFunctions.Add(deleg);
}
else if (this.LoggedInUser.UserId == 22)
{
Func<Order, bool> deleg = o => o.AssignedToUserId.Equals(22);
orderFunctions.Add(deleg);
}
List<Orders> orders = Entities.Orders.Where( Some How Apply my Order Functions List Here ).ToList();
Я не уверен, что я даже выбрал правильный подход - надеюсь, это имеет смысл - любое руководство, пример кода было бы фантастическим, у меня есть куча времени, чтобы найти примеры / учебные пособия для этого онлайн