from f in CUSTOMERS
where depts.Contains(f.DEPT_ID)
select f.NAME
Run Code Online (Sandbox Code Playgroud)
depts是IEnumerable<int>部门ID 的列表()
这个查询工作正常,直到你传递一个大的列表(比如大约3000 dept 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
Run Code Online (Sandbox Code Playgroud)
使用IndexOf()修复错误但使查询变慢.有没有其他方法可以解决这个问题?非常感谢.
我有一个IEnumerable<string>我想分成三组,所以如果我的输入有6个项目,我会得到一个IEnumerable<IEnumerable<string>>返回的两个项目,每个项目将包含IEnumerable<string>我的字符串内容.
我正在寻找如何使用Linq而不是简单的for循环
谢谢
我有一个列表,我想分成10组.
如果我有一个对象
List<Person> allPendingPersons
Run Code Online (Sandbox Code Playgroud)
长度为m.
在LINQ中是否有一种优雅的方法可以将allPendingPersons分解为一个或多个List对象,这些对象都有最多10个人?