SQL数据透视表和计数

时间:2014-02-28 15:19:17

标签: asp.net-mvc-4 pivot-table

好的我已经创建了一个SystemUserOrganisation表,其中包含UserOrganisation数据透视表但我的问题是我想在一个kendo网格中显示每个用户数量的用户数组织。

我通常会做类似于权限表的事情并执行以下操作,

var UserCount = _db.Permissions
                   .Where(w => w.OrganisationId == Organisations.Id)
                   .Count();

当然,由于我的.edmx没有数据透视表,我无法_db.UserOrganisations.Where

我尝试过一些谷歌搜索来得出一个答案,但要么我正在考虑这个错误,要么答案是正确地盯着我,我只是看不到它。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

假设您的dbContext具有Organisations属性,该属性列出了组织对象的集合,而您的Organisation实体具有存储组织成员的Users属性。

var orgList= db.Organisations.Select(s => new 
                     { Name = s.Name, MemberCount = s.Users.Count() }).ToList();

这将列出具有NameMemberCount属性的匿名类型列表。但是,如果您想要一个视图模型列表,请执行此操作

var orgList= db.Organisations.Select(s => new OrganizationVM 
                   { Name = s.Name, MemberCount = s.Users.Count() }).ToList();

假设您的OrganizationVMNameMemberCount属性

public class OrganizationVM 
{
  public string Name { set;get; }
  public int MemberCount { set;get; }
}