多对多的查询解析,sqlsugar , 多对多的名称查询解析 电脑版发表于:2025/3/13 16:33 多对多解析名称的常用步骤代码如下: ``` #region 查询小组分配的管理员(一个小组可以分配多个管理员) List<string> groupIdList = result.Select(a => a.GroupId).ToList(); // 现在多对多管理表从取出来涉及到的关联数据 List<UserGroup> userGroups = await db.Queryable<UserGroup>().Where(a => groupIdList.Contains(a.GroupId)).ToListAsync(); // 然后取出来关联数据当中的用户数据 List<long?> userIdList = userGroups.Select(a => a.UserId).ToList(); List<Users> users = await db.Queryable<Users>().Where(a => userIdList.Contains(a.Id)).ToListAsync(); // 然后在内存中解析出来小组分配的管理员数据 foreach (VillageGroupDto item in result) { List<long?> resultUserIds = userGroups.Where(a => a.GroupId == item.GroupId).Select(a => a.UserId).ToList(); List<Users> resultUsers = users.Where(a => resultUserIds.Contains(a.Id)).ToList(); foreach (Users useritem in resultUsers) { item.ManagerNames += useritem.UserNickname + ","; } if (!string.IsNullOrWhiteSpace(item.ManagerNames)) { item.ManagerNames = item.ManagerNames.TrimEnd(','); } } #endregion ```