我試圖創造EF 4.0查詢中的LINQ 2 SQL像下面的SQL查詢。如何實現加入使用LINQ和的EntityFramework
SELECT * FROM Role
LEFT JOIN Queue
ON Role.RoleId = Queue.RoleId
WHERE QueueId = 361
那麼我怎麼能在EF 4.0中做到這一點?
我試圖創造EF 4.0查詢中的LINQ 2 SQL像下面的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。 – 2012-04-09 06:34:15
@AndrewBarber:不,我很確定他的意思是LINQ to SQL。或者更準確地說LINQ to Entities,因爲他正在對EF進行映射。在這裏看到:http://msdn.microsoft.com/en-us/library/bb386964.aspx – 2012-04-09 06:36:56
@Mike的LINQ to SQL是一個EF完全不同的產品。這就像說他在談論nHibernate。 – 2012-04-09 06:40:48