LINQ IN条款声明
本文关键字:声明 IN LINQ | 更新日期: 2023-09-27 18:00:34
我想把这个sql语句改成LINQ,但我对IN子句有问题
Declare @RoleId as nvarchar(128)
Set @RoleId = (SELECT Id FROM AspNetRoles WHERE Name = 'Admin')
SELECT * FROM Menus WHERE MenuEnable = 1
AND MenuParentId IS NULL
AND MenuId IN (SELECT MenuId FROM MenusRoles WHERE RoleId = @RoleId)
ORDER BY MenuOrder
如果我理解你的问题,你想检索属于名为"Admin"的角色的所有菜单。
var results = (from m in Menus
join mr in MenuRoles on m.MenuId equals mr.MenuId
join anr in AspNetRoles on mr.RoleId equals anr.RoleId
where anr.Name == "Admin" && m.MenuParentId == null
orderby m.MenuOrder
select m);