0
我有我的实体Framwork身份两类:如何创建一个LINQ语句来计算连接表的数量?
public partial class AspNetRole
{
public AspNetRole()
{
this.AspNetUsers = new List<AspNetUser>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<AspNetUser> AspNetUsers { get; set; }
}
public partial class AspNetUser
{
public AspNetUser()
{
this.AspNetRoles = new List<AspNetRole>();
}
public int Id { get; set; }
public string UserName { get; set; }
public virtual ICollection<AspNetRole> AspNetRoles { get; set; }
}
我就是用这个LINQ查询来获取角色ID和角色ID有 用户:
var user1 = await db.AspNetRoles
.Include(u => u.AspNetUsers)
.Select(u => new RoleGetDTO
{
RoleId = u.Id,
Name = u.Name,
Users = u.AspNetUsers.Select(y => new RoleGetDTO.User
{
UserId = y.Id,
Name = y.UserName
}).ToList()
})
.ToListAsync();
有人可以帮助我。现在,我不想展示我想要 的用户集合,而是获取角色中的用户数。
这里是我的RoleDTO现在:
public class RoleGetDTO
{
public int RoleId { get; set; }
public string Name { get; set; }
public virtual ICollection<User> Users { get; set; }
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
}
}
我想将它更改为:
public class RoleGetDTO
{
public int RoleId { get; set; }
public string Name { get; set; }
public int UserCount { get; set; }
}
我希望我的问题是有道理的,希望有人能告诉我我该怎么改变LINQ等等现在它为每个RoleId填充UserCount整数。