2009-10-15 63 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