2016-08-08 2 views
1

NHibernate를 사용하고 있는데 문제가 생겼습니다. 클라이언트 :Nhibernate - 선택 목록에 나열

public class Client 
    { 
     public virtual int Id { get; set; } 
     public virtual string Name { get; set; } 
     public virtual string UserName { get; set; } 
     public virtual string Password { get; set; } 
     public virtual IList<Date> Dates { get; set; } 

     public Client() 
     { 
      Dates = new List<Date>(); 
     } 
    } 

날짜 :

내 프로젝트에서이 단체가

public class Date 
    { 
     public virtual int Id { get; set; } 
     public virtual DateTime DateTime { get; set; } 
     public virtual Client Client { get; set; } 
     public virtual int IsVisible { get; set; } 
    } 

을 그리고 각 클라이언트에 대해 인출 할, 그것은 ID, 이름과 날짜의 목록, 그리고 그 목록의 각 날짜에 대해 ID와 날짜 만 가져 오려고합니다.

Date dateAlias = null; 
      var list = _session.QueryOver<Client>() 
       .JoinAlias(x => x.Dates,() => dateAlias) 
       .SelectList(lst => lst 
        .Select(x => x.Id) 
        .Select(x => x.Name) 
        .Select(() => dateAlias)) 
       .List<object[]>(); 

이 :

Date dateAlias = null; 
       var list = _session.QueryOver<Client>() 
        .JoinAlias(x => x.Dates,() => dateAlias) 
        .SelectList(lst => lst 
         .Select(x => x.Id) 
         .Select(x => x.Name) 
         .Select(() => dateAlias)) 
        .List<object[]>(); 

그러나 결과가 비어

그래서 나는 다음 시도했다. 여기서 내가 뭘 잘못하고 있니? 내가 원했던거야?

답변

0

이 쿼리를 사용해보십시오. 도움이 될 것입니다.

IList<Client> clientData = _session.QueryOver<Client>() 
.JoinQueryOver(x => x.Dates) 
.Where(x => x.Id && x => x.Name)).List();