Hi,
TAccReq= Class
FId: Integer;
FName: String;
FAccDevId: TAccDev;
FaLotOfFields: String;
...
end;
TAccDev= Class
FId: Integer;
FName: String;
FaLotOfFields: String;
...
end;
this is the SQL:
Select AccReq.Id, AccReq.Name, AccReq.AccDevId, AccDev.Name
From AccReq, AccDev
Where (AccReq.AccDevId=AccDev.Id) and AccReq.Id >= 500 (could be a join )
This is what i'm try to do;
Result := Manager.Find<TAccReq>.Select(TProjections.ProjectionList
.Add(TProjections.Prop(Dic.AccReq.Id.PropName))
.Add(TProjections.Prop(Dic.AccReq.name.PropName))
.Add(TProjections.Prop(Dic.AccReq.AccDevId.AssociationName))
.Add(TProjections.Prop(Dic.AccDev.Name.PropName))//how to do that?
.Add(TLinq.GreaterOrEqual(Dic.AccReq.Id, 500)
.AddOrder(TOrder.Asc(Dic.AccReq.name.))
.ListValues;
Dic is TDictionary generated by Data Modeler.
Thanks
you can't use dictionary for associated properties. You must create alias and add the property name manually ('accdev.name')