在Linq中按包含排序
本文关键字:包含 排序 Linq | 更新日期: 2023-09-27 18:01:02
我有一个名为角色的列表。使用这个列表,我得到了另一个名为菜单的列表,其中在名为RoleType的实体字段中,我也将d.RoleID插入其中。
如何通过调用菜单的第二个列表中的RoleType=d.RoleID来订购第二个名单?
我试过.Distinct().ToList().OrderBy(RoleType)
,但它不起作用。
var roles = (from d in db.TB_UserRoles
where d.UserID == userID
select d.RoleID).ToList();
var menu = (from d in db.TB_MenuRoles
where roles.Contains(d.RoleID)
select new Menu
{
MenuName = d.TB_Menu.Name,
RoleType = d.RoleID
}).Distinct().ToList();
OrderBy(RoleType)
不是有效的linq语法,它应该是
OrderBy(x => x.RoleType)
尝试此查询
var roles = (from d in db.TB_UserRoles
where d.UserID == userID
select d.RoleID).ToList();
var menu = (from d in db.TB_MenuRoles
where roles.Contains(d.RoleID)
select new Menu
{
MenuName = d.TB_Menu.Name,
RoleType = d.RoleID
}).Distinct().OrderBy(x=>x.RoleType).ToList();