[Linq-to-sql] 解決LinqToSQls“不支持本地集合的查詢”異常


Answers

我也在努力解決這個問題。 用Any()解決了我的問題

people.Where(x => ids.Any(id => id == x.ID))
Question

所以,我試圖返回一個包含在本地創建的ID(IQueryable)集合中的ID的集合,

當我指定“本地創建的集合”時,我的意思是說,Ids集合併不是來自LinqToSql查詢,而是通過編程方式創建的(基於用戶輸入)。 我的查詢如下所示:

var qry = from p in DBContext.People
                  where Ids.Contains(p.ID)
                  select p.ID;

這會導致以下異常...

“不支持本地收藏的查詢”

我怎樣才能找到所有的人與我的本地創建的ID集合中包含的ID?

是否有可能使用LinqToSql?