我有这个模型
我的目标是检索用户的所有资源,但与该用户共享受限角色的资源除外。
这在直接 SQL 中并不太难(6BA60C09-2873-46A5-BAFB-5996A6C6482B 是用户 ID)
SELECT distinct r.Name
FROM dbo.Resources xr
INNER JOIN [dbo].[x_Resource_RestrictedRole] rr ON xr.Id = rr.ResourceId
INNER JOIN [dbo].[aspnet_UsersInRoles] ur ON ur.RoleId = rr.RoleId
AND ur.UserId = '6BA60C09-2873-46A5-BAFB-5996A6C6482B'
RIGHT JOIN dbo.Resources r on r.id = xr.id
WHERE xr.id IS NULL
我无法为此找出一个好的策略,EF
因为我无权访问关联表。
这可以在 LINQ 或 lambda 表达式中完成吗?