【发布时间】:2011-11-07 15:16:29
【问题描述】:
不确定这是否是最好的方法,但这是我的想法
我正在使用实体框架数据模型 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();
我不确定我是否在这里采取了正确的方法 - 希望这是有道理的 - 任何指导,示例代码都会很棒,我花了很多时间在网上寻找示例/教程
【问题讨论】:
标签: c# asp.net linq entity-framework-4 delegates