2011-02-24 74 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