是有可能做多個聯接:LINQ2SQL和多個連接
from g in dataContext.Groups
join ug in dataContext.UsersGroups on g.Id equals ug.GroupId
join u in dataContext.Users on u.
where ug.UserId == user.Id
select GroupRepository.ToEntity(g);
以上的所有樣品中
是罰款,直到我按「」在第三行結束。我期望得到intellisense並寫入u.Id == ug.UserId
但它不會出現。當然這個代碼不會在編譯後。
我錯了什麼?
答案:別名的順序很重要。所以我用ug.UserId equals u.Id
我沒有用之前在LINQ加入,但你要達到什麼樣的(或我認爲你試圖達到的目標,可能會有很大的差異:P)我已經做了好幾次,只使用像這樣的語句:從db中的g中的db中的g中的db.UserGroups中的from u中的db .Users where g.Id == ug.GroupId && ug.UserId == user.Id && g.Name == SomeVar select u;這應該會讓您的組中的所有用戶名稱爲SomeVar。 – Alxandr 2010-04-28 02:03:20
hmmmm ....然後我需要閱讀更詳細的linq2sql。我認爲linq2sql'join'等同於sql的'join'。不是嗎? – zerkms 2010-04-28 02:05:34
http://msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic12在這裏我看到多個連接的查詢,但我不能重複相同的語法%) – zerkms 2010-04-28 02:10:32