次のSQLクエリのように、EF 4.0クエリでlinq 2 sqlを作成しようとしています。LINQとEntityFrameworkを使用して結合を実装する方法
SELECT * FROM Role
LEFT JOIN Queue
ON Role.RoleId = Queue.RoleId
WHERE QueueId = 361
どのように私はEF 4.0でこれを行うことができますか?
次のSQLクエリのように、EF 4.0クエリでlinq 2 sqlを作成しようとしています。LINQとEntityFrameworkを使用して結合を実装する方法
SELECT * FROM Role
LEFT JOIN Queue
ON Role.RoleId = Queue.RoleId
WHERE QueueId = 361
どのように私はEF 4.0でこれを行うことができますか?
通常、これはあなたがエンティティを取得する際に、しかし、あなたはまた、次のようにこれを行うことができます読み込まれているナビゲーションプロパティを使用して行われます:
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*/}
は、次のことをしようと私はそれが私が希望
を役に立てば幸い結合の詳細を検索することをお勧めします
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});
Linqを意味します。 LinqからSQLへの変換ではありません。 –
@AndrewBarber:いいえ、私は彼がLINQ to SQLを意味すると確信しています。または、彼がEFとマッピングしているので、より正確にはLINQ to Entities。ここをクリックしてください:http://msdn.microsoft.com/en-us/library/bb386964.aspx –
@Mike LINQ to SQLは、EFとは全く異なる製品です。彼がnHibernateについて話していたと言えるでしょう。 –