2009-06-24 2 views
0

У меня есть юридическое лицо, как этотNHibernate критерии API Проекции

public class Customer 
{ 
    public Customer() { Addresses = new List<Address>(); } 
    public int CustomerId { get; set; } 
    public string Name { get; set; } 
    public IList<Address> Addresses { get; set; } 
} 

И я пытаюсь запросить его с помощью Criteria API, как это.

ICriteria query = m_CustomerRepository.Query() 
    .CreateAlias("Address", "a", NHibernate.SqlCommand.JoinType.LeftOuterJoin); 
var result = query 
    .SetProjection(Projections.Distinct(
    Projections.ProjectionList() 
     .Add(Projections.Alias(Projections.Property("CustomerId"), "CustomerId")) 
     .Add(Projections.Alias(Projections.Property("Name"), "Name")) 
     .Add(Projections.Alias(Projections.Property("Addresses"), "Addresses")) 
    )) 
    .SetResultTransformer(new AliasToBeanResultTransformer(typeof(Customer))) 
    .List<Customer>() as List<Customer>; 

При выполнении этого запроса свойство Addresses объекта Customer имеет значение NULL. Есть ли способ добавить проекцию для этого свойства List?

ответ

0

Код кажется хорошим. Таким образом, проблема может быть в сопоставлении для свойства Addresses.