Конвертировать SQL в linq в activeRecord - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть оператор SQL

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

в проекте asp.net с использованием 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

Что не работает.

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Я нашел это, но я не знаю, насколько это хорошо.http://www.sqltolinq.com/

0 голосов
/ 24 февраля 2011

Это должно работать, но не оптимально.

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