本文详细介绍如何在EFCore中通过Include()方法获取关联表数据,并提供针对不同场景的SQL语句转换及C#代码示例,包括角色、菜单和用户关联查询。同时涵盖了复杂条件筛选的技巧和常见场景应用。
摘要生成于
,由 DeepSeek-R1 满血版支持,
---查询拥有指定菜单的用户
select * from Sys_Employee where RoleID in (
select RoleID from Sys_Role_Nav where NavID=1
2.EF core 对应场景举例 整理
static void Test1()
//查询指定角色下的菜单 会员角色的菜单
//查找菜单,从关联表中,含有roleid=1的菜单
//roleid=1
QLSingleContext _context = new QLSingleContext();
var navList = _context.SysNavigations.Where(q => q.SysRoleNavs.Any(i => i.RoleId == 1))
.ToList();
foreach (var item in navList)
Console.WriteLine($"id:{item.NavId} name:{item.Name}");