from f in CUSTOMERS
where depts.Contains(f.DEPT_ID)
select f.NAME
depts
是部门ids的列表(IEnumerable<int>
)
这个查询可以很好地工作,直到您传递一个大列表(比如大约3000个部门ids)。然后我得到了这个错误:
传入的表格格式数据流(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
使用IndexOf()
修复了错误,但使查询变慢。有没有其他方法来解决这个问题呢?非常感谢。
https://stackoverflow.com/questions/656167
复制相似问题