2

次のSQLクエリのように、EF 4.0クエリでlinq 2 sqlを作成しようとしています。

SELECT * FROM Role
LEFT JOIN Queue 
ON Role.RoleId = Queue.RoleId 
WHERE QueueId = 361

では、EF 4.0 でこれを行うにはどうすればよいでしょうか。

4

2 に答える 2

4

通常、これはエンティティを取得するときに読み込まれるナビゲーション プロパティを使用して行われますが、次の方法でも行うことができます。

from r in Roles
from q in Queues
where r.RoleId == q.RoleId
where q.QueueId == 361
select new { r.RoleId, q.QueueId /*other bits you want*/}
于 2012-04-09T06:28:34.720 に答える
3

次のことを試してください

結合についてもっと検索することをお勧めします

var result=(from p in Roles
join pa in Queue on p.RoleId equals pa.RoleId into temproles
from addresses in temproles.DefaultIfEmpty() where temproles.queueId = 361
select new { p, pa} );
于 2012-04-09T06:55:29.273 に答える