ias*_*ons 36 collections linq-to-sql
所以,我正在尝试返回一个人员集合,其ID包含在本地创建的ID集合中(IQueryable)
当我指定"本地创建的集合"时,我的意思是Ids集合不是来自LinqToSql查询,而是以编程方式创建(基于用户输入).我的查询如下所示:
var qry = from p in DBContext.People
where Ids.Contains(p.ID)
select p.ID;
Run Code Online (Sandbox Code Playgroud)
这导致以下异常......
"不支持使用本地集合的查询"
如何在本地创建的Ids集合中找到包含id的所有人员?
是否可以使用LinqToSql?
Kri*_*erA 36
如果Ids是List,数组或类似的,则L2S将转换为包含.
如果Ids是IQueryable,只需在查询中使用它之前将其转换为列表.例如:
List<int> listOfIDs = IDs.ToList();
var query =
from st in dc.SomeTable
where listOfIDs.Contains(st.ID)
select .....
Run Code Online (Sandbox Code Playgroud)
max*_*ego 31
我也在努力解决这个问题.解决了我使用Any()的问题
people.Where(x => ids.Any(id => id == x.ID))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10118 次 |
| 最近记录: |