2011-02-24 30 views
0

我在項目asp.net聲明SQL轉換SQL的LINQ的ActiveRecord

SELECT * FROM Messages 
WHERE MessageID IN (SELECT MessagesID FROM Publisher WHERE pubID = 22) 

使用ActiveRecord:

from m in ActiveRecordLinq.AsQueryable<Message>()select m 

這個正確與項目

,但我已經寫了

from m in ActiveRecordLinq.AsQueryable<Message>() 
where ActiveRecordLinq.AsQueryable<Publisher>().Any(t => t.MessagePublisherSiteKey.MessageID == m.MessageID && t.Publishersiteid == 22) 
select m 

什麼不工作。

+0

help !!!!!!!!!! – heaven 2011-02-24 04:42:22

回答

0

這應該工作,但不是最佳。

(From m in ActiveRecordLinq.AsQueryable<Message>() 
From t in ActiveRecordLinq.AsQueryable<Publisher> 
Where (t.MessagePublisherSiteKey.MessageID == m.MessageID && t.Publishersiteid == 22) 
Select m).Distinct(); 
+0

它沒有運行........ – heaven 2011-02-24 04:01:12

+0

它給你一個異常 – msarchet 2011-02-24 04:05:31

+0

以上語句是語法錯誤「從ActiveRecordLinq.AsQueryable中的m ()從ActiveRecordLinq.AsQueryable中的t 」 – heaven 2011-02-24 04:13:10

1

我發現這個,但我不知道它有多好。 http://www.sqltolinq.com/

+0

總是在這裏幫助.. ..快樂堆棧溢出 – 2011-02-24 04:11:23

+0

啓動activerecord和linq的實際差異。 – heaven 2011-02-24 04:19:26