2011-07-19 11 views
0

私はLINQクエリをしようとしていますが、私はしばらく悩まされています。私はドキュメンテーションを見てみました、そして、ここでは、しかし、私は全体を作るのに十分な部分を見つけるように見えることができません。私はSQLでこれを書くことにした場合LINQネストされたクエリのヘルプ

、クエリは、一部のみのためのソリューションを持っている場合でも、任意の入力をいただければ幸いです

SELECT * 
FROM (Person JOIN Event ON Person.ID = Event.PersonID) as t 
Where (Event.Type = "Invitation") AND !Exists(SELECT * 
              FROM Event 
              WHERE Event.Type = "Something" 
                AND Event.Conference = "someString" 
                AND t.ID = Event.PersonID) 

だろう。

+0

次のツールを使用して、SQLをlinq http://www.sqltolinq.com/に変換できます – dknaack

答えて

0

イベントテーブルにPersonの外部キーがあるようです。これはイベントが1人しか持つことができないことを意味するので珍しいようです。イベントテーブルがこのモデルの多数のテーブルであると仮定します。 (PeopleEvents?)あなたは人とイベント間の関連性を持っていると仮定すると、あなたは(の代わりに任意の存在使って!)、次のようなものでこれを行うことができる必要があります:

from person in People 
from event in person.Events 
where event.Type == "Invitation" && 
!person.Events.Any(event => event.Type == "Something" && event.Conference == "someString") 
select new {person, event} 

(したいことがあり、注意してください私がここに示している選択肢の多くを投写するのではなく、ここに他の構造に投影することができます)。あなたのモデルに関する詳細や達成しようとしていることがあれば、もっと助けになるかもしれません。

関連する問題