【发布时间】:2011-06-29 14:24:44
【问题描述】:
我正在尝试编写动态 Linq 库查询以按条件获取记录, 订单数大于 3 且 ShipVia 字段等于 2 的客户。
以下是我尝试过的语法。
object[] objArr = new object[10];
objArr[0] = 1;
IQueryable<Customer> test = db.Customers.Where("Orders.Count(ShipVia=2)", objArr);
和
IQueryable<Customer> test = db.Customers.Where("Orders.Any(ShipVia=2).Count()", objArr);
但两者都不起作用。在第二个查询中,Any 返回 true,因此它不适用于 Count。 建议我一种方法来实现这一点。
【问题讨论】:
-
也许应该是“Orders.Count(ShipVia==2)”
-
@boca:内部查询会直接转成SQL,我猜,条件运算符是=,不是==
标签: c# asp.net linq linq-to-sql dynamic-linq