NHibernate QueryOver转换ChildCollection

时间:2014-07-02 07:43:46

标签: c# linq nhibernate queryover

我有一个QueryOver,可以选择父级和相关的子级。 实体的结构是这样的:

public class Person
{
   public IList<Address> Addresses { get; set;}
}

我有一个像这样的DTO的最终结果

public class PersonDto
{
   public AddressDto[] Addresses { get; set; }
}

到目前为止,我执行以下查询:

PersonDto person = null;

IEnumerable<PersonDto> persons =
    session.QueryOver<Person>()
        .Fetch(p => p.Addresses).Eager
        .SelectList(list => list
            .Select(p => p.Id).WithAlias(() => person.Id)
            .Select(p => p.FirstName).WithAlias(() => person.FirstName)
            .Select(p => p.LastName).WithAlias(() => person.LastName)
            **// how to SelectList the addresses here?**
        )
        .TransformUsing(Transformers.AliasToBean<PersonDto>())
        .List<PersonDto>()
return persons;

但我不知道如何将Person.Addresses转换为PersonDto.Addresses。 在Linq,我只想说

dto.Addresses = Select(p => new AddressDto {}).ToArray()

0 个答案:

没有答案