2014-02-28 4 views
0

Ok UserOrganisation 피벗 테이블이있는 SystemUserOrganisation 테이블을 만들었지 만 문제는 조직마다 사용자 수를 검도 그리드에 표시하려고합니다.SQL 피벗 테이블 및 개수

권한 테이블이 있고 아래처럼 나는 보통 일을 할 것, 내 .edmx 이후

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

내가 _db.UserOrganisations.Where

내가 '할 수없는 피벗 테이블이 없습니다 나는 약간의 인터넷 검색을 해보려고했지만 대답이 잘못되었거나 대답이 나를 빤히 쳐다 보며 나는 그것을 보지 못했다.

도움을 주시면 감사하겠습니다. 당신의 dbContext 가정

+0

이'Organisation' 엔티티 클래스 않는 NameMemberCount 속성은'Users' 속성이있다? – Shyju

+0

@Shyju 예 및 그 반대로 – Myzifer

답변

0

는 조직 개체의 컬렉션을 나열하는 Organisations 속성을 가지고 있으며, 여러분의 Organisation 기업은 조직 구성원을 저장하는 Users 속성이 있습니다.

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

이것은 NameMemberCount 속성 익명 유형의 목록을 나열합니다. 당신이 viewmodels의 목록을 원한다면, 수행이

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

가정하여 OrganizationVM

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

이것은 내가 의미하는 바가 아니지만 다음 호에 대한 경고였습니다. var UserCount = (_db.OrganisationalUnits의 o에서 fromo.Id == organisation.Id o.SystemUsers에 있음) 선택 t) .Count(); 이것은 내가 원하는 것이지만 내 질문이나 답변과 같은 문법이지만 답변을 통해 내게 내가 생각할 수있는 특정 조직에 대한 사용자 목록 표시의 다음 단계에 대해 생각하게했다. 올바른 문법으로 이해하거나 최소한 올바른 질문을 알아야합니다. – Myzifer

+0

귀하의 대답은 각 조직의 이름 목록과 각 사용자의 수를 제공 할 것입니다. 이것은 모든 자식 조직을 표시하고 사용자 수를 나타내는 열이 있으므로 검도 그리드에서 사용하는 것과 거의 같습니다. 이 열은 특정 조직의 모든 사용자를 표시하려는 사용자 목록으로 리디렉션하는 버튼입니다. – Myzifer

+0

예. 이름과 사용자 수를 반환합니다. 단추로 표시하려면 UI /보기에서 조정해야합니다. – Shyju