我的
如何完成我的
以下是我卡住的地方。
NavigationItem
有一个导航属性NavigationItemsPermissions
,其中我有RoleId
。在函数的输入参数中,我有一个List<int> roleIds
,其中我将拥有类似{1, 3}的内容。如何完成我的
LINQ
,以便返回具有输入列表中某些RoleId
的NavigationItem
(s)。 请注意,此外,我只想要那些具有来自输入列表的RoleId
的NavigationItemsPermissions
。以下是我卡住的地方。
public List<NavigationItem> GetNavigationItems(MenuType menuType, List<int> roleIds)
{
var navigationItems = DbContext.NavigationItems.Where(x => x.MenuTypeId == (int) menuType && !x.IsDeleted && x.NavigationItemsPermissions.Any(r=>r.RoleId **in roleIds**)));
return navigationItems;
}
为了给出一个更加简单的比喻(并非真实数据),如果有一个开发者列表
developers: [
{ name: "Hickory", skills: ["c#", "js", "linq"] }
{ name: "Dickory", skills: ["html", "css", "js"] }
{ name: "Dock", skills: ["html", "c#", "oracle"] }
]
给定技能列表 list = [ "c#", "linq" ]
,我希望得到以下结果
[{ name: "Hickory", skills: ["c#", "linq"] }
{ name: "Dock", skills: ["c#"] }]
真实数据示例:
感谢任何帮助。
x.NavigationItemsPermissions.Any(r => roleIds.Contains(r.RoleId))
给出了所有那些NavigationItems
,其中 任意一个NavigationItemsPermissions
在roleIds
中。你想要的是NavigationItems
中 所有 的NavigationItemsPermissions
都在roleIds
中吗? - Arghya C