I have the following OrmLite query:
[from and joins...]
q.Select<LRAListaDiLavoro, LRARichiesta, LRAContenitore, LRDAnalisi, LRDDevice>((alis, arich, acont, dana, devc) =>
new
{
Id = Sql.JoinAlias(alis.Id, typeof(LRAListaDiLavoro).GetModelMetadata().Alias),
DataOraAccettazione = arich.DataOraAccettazione,
Barcode = acont.Barcode,
DataOraPrimoCheckIn = acont.DataOraPrimoCheckin,
DevicePrimoCheckInId = acont.DeviceIdPrimoCheckIn,
DevicePrimoCheckInCodice = Sql.JoinAlias(devc.Codice, "devcheckin"),
Codice = dana.Codice,
Descrizione = dana.Descrizione,
DataOraInserimento = alis.DataOraInserimento,
Stato = alis.Stato,
VersioneRecord = alis.VersioneRecord
}
);
That statement produces the following query:
SELECT LRALISTEDILAVORO."IDALISTADILAVORO" AS Id,
"LRARICHIESTE"."DATAORAACCETTAZIONE",
"LRACONTENITORI"."BARCODE",
"LRACONTENITORI"."DATAORAPRIMOCHECKIN" AS "DataOraPrimoCheckIn",
"LRACONTENITORI"."DDEVICEIDPRIMOCHECKIN" AS "DevicePrimoCheckInId",
devcheckin."CODICE" AS DevicePrimoCheckInCodice,
"LRDANALISI"."CODICE",
"LRDANALISI"."DESCRIZIONE",
"LRALISTEDILAVORO"."DATAORAINSERIMENTO",
"LRALISTEDILAVORO"."STATO",
"LRALISTEDILAVORO"."VERSIONERECORD"
FROM "LRALISTEDILAVORO"
INNER JOIN "LRAANALISI" ON ("LRALISTEDILAVORO"."AANALISIID" = "LRAANALISI"."IDAANALISI")
INNER JOIN "LRACONTENITORI" ON ("LRAANALISI"."ACONTENITOREID" = "LRACONTENITORI"."IDACONTENITORE")
INNER JOIN "LRARICHIESTE" ON ("LRACONTENITORI"."ARICHIESTAID" = "LRARICHIESTE"."IDARICHIESTA")
INNER JOIN "LRDANALISI" ON ("LRAANALISI"."DANALISIID" = "LRDANALISI"."IDDANALISI")
LEFT JOIN "LRDDEVICES" devcheckin ON ("LRACONTENITORI"."DDEVICEIDPRIMOCHECKIN" = "devcheckin"."IDDDEVICE")
INNER JOIN "LRDLISTEDILAVORO" ON ("LRALISTEDILAVORO"."DLISTADILAVOROID" = "LRDLISTEDILAVORO"."IDDLISTADILAVORO")
INNER JOIN "LRDDEVICES" ON ("LRDLISTEDILAVORO"."IDDLISTADILAVORO" = "LRDDEVICES"."DLISTADILAVOROID")
WHERE ("LRDDEVICES"."IDDDEVICE" = @0)
OFFSET 0 ROWS FETCH NEXT 15 ROWS ONLY
The query works per-se but if I want to order by programmatically, I can’t do it because some fields has Aliases while others don’t. Could you apply aliases to all fields? In my specific case, I want to order on the fields defined in the anonimous object, so i expect every field to have the alias equal to the name of the property defined on the anonymous object (like it already does for DataOraPrimoCheckin
and DevicePrimoCheckInId
)