我有一个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()