无法写入Linq查询
我有一个无法写入Linq查询,linq,Linq,我有一个SQL查询。我想将其转换为LINQ查询。 UserLinks和UserRoles是表示数据库表的c类 select distinct UserLinks.LinkID from UserLinks where RoleID in (select RoleID from UserRoles where UserID=1) and UserLinks.Enable='true' 您还可以向我们展示您在LINQ中尝试过的内容吗?您还可以向我们展示您在LINQ中尝试过的内容吗?对于行v
SQL
查询。我想将其转换为LINQ
查询。
UserLinks
和UserRoles
是表示数据库表的c类
select distinct UserLinks.LinkID from UserLinks
where RoleID in (select RoleID from UserRoles where UserID=1) and UserLinks.Enable='true'
您还可以向我们展示您在LINQ中尝试过的内容吗?您还可以向我们展示您在LINQ中尝试过的内容吗?对于行var result=tblUserLinks.Where(u=>roleIds.Contains(u.RoleID)&&u.Enable),我收到错误“将nvarchar值'true'转换为数据类型int时转换失败”。其中(u=>roleIds.Contains(u.RoleID)&&u.Enable)Enable是一个布尔字段(如果用户可以访问链接,则为true;否则为false)错误运算符“==”不能应用于“bool”类型的操作数请参见我有一个表UserLinks(LinkID、LinkName、RoleID、Enable)我在其中存储所有roleid和相应的linkid、linkname并将enable设置为true,如果用户可以使用该roleid访问该链接,则该用户也可以具有多个角色。因此,我首先检索角色列表。我收到错误“将nvarchar值“true”转换为数据类型int时转换失败。”对于Line var result=tblUserLinks.Where(u=>roleIds.Contains(u.RoleID)&&u.Enable)Enable是一个布尔字段(如果用户可以访问链接则为true,否则为false),错误运算符“==”不能应用于“bool”类型的操作数请参见我有一个表UserLinks(LinkID,LinkName,RoleID,Enable)我在其中存储所有roleid和相应的linkid、linkname并将enable设置为true,如果用户可以使用该roleid访问该链接,则用户也可以具有多个角色。因此,我首先检索角色列表
var roleIds = UserRoles.Where(u => u.UserID == 1)
.Select(r=>r.RoleID)
.ToList();
var result = UserLinks.Where(u => roleIds.Contains(u.RoleID) && u.Enable)
.Select(l => l.LinkID)
.Distinct()
.ToList();