I´m trying to use QueryOver in that scenario :
public class Class1
{
public virtual string Name { get; set; }
public virtual string Descripton { get; set; }
public virtual Class2 { get; set; }
public virtual IList<Class3> ListClass3{ get; set; }
... //SEVERAL OTHERS LISTS, PROPERTIES
}
public class Class2
{
public virtual string Name { get; set; }
... //SEVERAL OTHERS LISTS, PROPERTIES
}
public class Class3
{
public virtual string Name { get; set; }
public virtual Class4 { get; set; }
... //SEVERAL OTHERS LISTS, PROPERTIES
}
public class Class4
{
public virtual string Prop1 { get; set; }
public virtual string Prop2{ get; set; }
... //SEVERAL OTHERS LISTS, PROPERTIES
}
And my DTO :
public class ClassDTO
{
public string NameClass1 { get; set; }
public string DescriptonClass1 { get; set; }
public string NameClass2 { get; set; }
public virtual IList<Class3> Class3List { get; set; }
}
My problem is how get the IList ... Without that, thats working fine so far:
Class2 class2 = null;
IList<Class3> listClass3 = null;
var queryOver = Session.QueryOver<clsClass1>();
var list = queryOver
.JoinAlias(x => x.Class2, () => class2)
.JoinAlias(x => x.ListClass3, () => listClass3, JoinType.LeftOuterJoin)
.SelectList(list => list
.Select(c2 => c2.Name).WithAlias(() => myDTO.NameClass1)
.Select(c2 => class2.Name).WithAlias(() => myDTO.NameClass2)
//NEED GET LIST<CLASS3>
)
.TransformUsing(Transformers.AliasToBean<ClassDTO>())
.List<ClassDTO>();
Thats working fine, but I need to 'fill' the IList now... And if possible, get just the Prop1 and Prop2 from Class4...
Thanks