from f in CUSTOMERS
where depts.Contains(f.DEPT_ID)
select f.NAME
depts
IEnumerable<int>
是一个部门 ID列表 ( )
这个查询工作正常,直到你传递一个大列表(比如大约 3000 个部门 ID).. 然后我得到这个错误:
传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议流不正确。此 RPC 请求中提供的参数过多。最大值为 2100。
我将查询更改为:
var dept_ids = string.Join(" ", depts.ToStringArray());
from f in CUSTOMERS
where dept_ids.IndexOf(Convert.ToString(f.DEPT_id)) != -1
select f.NAME
usingIndexOf()
修复了错误,但使查询变慢。有没有其他方法可以解决这个问题?非常感谢。