2009-10-15 62 views
0

为什么我会从下面得到编译错误?Linq To SQL:为什么这不起作用?

int[] threadIDs = { 4,5,6,7,8,9,10,11,12,13,14,15,16,17 }; 
CSDataContext db = new CSDataContext(); 
var posts = from p in db.cs_Posts, t in threadIDs 
    where p.ThreadID == t 
    select p.ThreadID; 
+1

这将会是有益的,看看编译错误。 – 2009-10-15 23:29:04

回答

6

再添你到底想干什么?选择列表中包含线程ID的所有文章?

那么像这样的工作

int[] threadIDs = {4,5,6,7,8,9,10,11,12,13,14,15,16,17}; 
CSDataContext db = new CSDataContext(); 
var posts = from p in db.cs_Posts 
    where threadIds.Contains(p.ThreadID) 
    select p.ThreadID; 
+0

真棒,很好的答案! – burnt1ce 2009-10-16 15:38:24

2

你尝试

var posts = from p in db.cs_Posts 
      from t in threadIDs 
      where p.ThreadID == t 
      select p.ThreadID; 

离开了逗号和 '从'

+0

如果它是linq to sql,则不起作用,正如在问题中标记的那样。 – 2009-10-16 01:01:54

+0

你的答案摆脱了我的编译错误,但正如约翰Gietzen提到的,它不会工作,如果它在LINQ到SQL。很好,谢谢! – burnt1ce 2009-10-16 15:37:51