2011-02-24 2 views
0

J'ai une instruction SQLConvertir SQL LINQ dans activerecord

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

dans le projet asp.net utilisant activerecord:

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

ce correct avec le projet

mais j'ai écrit

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

Qu'est-ce qui ne fonctionne pas?

+0

aide !!!!!!!!!! – heaven

Répondre

0

Cela devrait fonctionner mais n'est pas optimal.

(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

son ne fonctionne pas ........ – heaven

+0

est ce qui vous donne une exception – msarchet

+0

déclaration ci-dessus est une erreur de syntaxe « De m ActiveRecordLinq.AsQueryable () De t ActiveRecordLinq.AsQueryable » – heaven

1

J'ai trouvé ceci, mais je ne sais pas comment c'est bon. http://www.sqltolinq.com/

+0

Toujours là pour vous aider .. ..Happy Stack Overflow –

+0

réel diff pour démarrer activerecord et linq. – heaven