2016-07-10 14 views
0

私のERDからデータを取得するための正しいクエリーに問題があります。下の画像には、分かりやすくするための簡略化されたバージョンがあります。ASP.NET MVCプロジェクトでlinqを使用したSQLクエリ

ユーザーは、この関係がUserPerGroupテーブルに保持されているグループに参加できます。そのため、グループにはイベントがあります。今は、ユーザーが属するすべてのグループのすべてのイベント(説明/オブジェクト)を取得できるようにしたいと考えています。 MVC .NETプロジェクトでLinqを使用していますが、raw(MS)SQLクエリを取得しても問題ありません。

おかげ

Simplified ERD

EDITは:次のクエリは、次のLINQの形式に変換することができますか?

return db.Event. ... .ToList(); 

IEnumbarableを返しますか? Rohitパドマ

答えて

1

あなたは、このようなエンティティ(私は名前を推測している)を相関させるために、単純なLINQ join演算子を使用することができます。

int userId = ...; 

var query = 
    from e in db.Event 
    join ug in db.UsersPerGroup on e.GroupId equals ug.GroupId 
    where ug.UserId == userId 
    select e; 

return query.ToList(); 
+0

ありがとう、私はこれを知らなかった、私はLinqの周りの基本を見た。これは私の将来の問題を解決するために多くの助けになります! – lordvlad30

0

から

select e.id,e.[description] from [User] u 
Inner join UserPerGroup upg on upg.userid=u.id 
Inner join [event] e on e.groupid=upg.groupid 
Where u.id=[USER_ID_VALUE] 

クエリは、この生のSQLクエリがお役に立てば幸いです。

select e.id,e.[description] from [User] u 
Inner join UserPerGroup upg on upg.userid=u.id 
Inner join [event] e on e.groupid=upg.groupid 
Where u.id=[USER_ID_VALUE] 
+0

おかげで、私は今のところで作業しようとします。 – lordvlad30

+0

wanneはあなたに質問を+1しますが、私の評判は低いです。しかし、もう一度ありがとう! – lordvlad30

+0

それは大丈夫です:)それが助けて欲しいです。 –

関連する問題