我有五個表中的所有ID爲LINQ到實體:用五個表查詢聯接
- 用戶
- User_Role_Relation與外鍵USER_ID和ROLE_ID
- 角色
- Role_Right_Relation的主鍵與外交鍵Role_ID和Right_ID
- Right
我目前得到與下面的查詢所選用戶的權限在存儲過程中
SELECT DISTINCT
tbl_Right.ID, tbl_Right.Name
FROM
tbl_User_Role_Relation
INNER JOIN
tbl_Role_Right_Relation ON tbl_User_Role_Relation.Role_ID = tbl_Role_Right_Relation.Role_ID
INNER JOIN
tbl_Right ON tbl_Role_Right_Relation.Right_ID = tbl_Right.ID
WHERE
tbl_User_Role_Relation.User_ID = @User_ID
我試圖用這個代碼
var query = from r in context.Rights
from rrr in r.Role_Right_Relation
from rl in rrr.Role
from urr in rl.User_Role_Relation
where urr.User_ID == userid
select r;
隱蔽這對LINQ到實體,但我得到的以下錯誤
類型「Models.Role」的表達,在以後允許從子句中與源類型的查詢表達式「System.Linq.IQueryable」類型推斷在調用失敗「選擇許多'
任何意見是有幫助的。
謝謝。
我發佈了一個錯字。我糾正了這個帖子,但我仍然收到錯誤。我得到了與rrr.Role中的rl相關的錯誤 – 2011-06-16 06:10:24