U hebt de SqlQuery niet nodig constructie om de bestelling vóór de groepering te doen:
var refGroupQuery = from m in dbContext.Messages
group m by m.receiver_id into refGroup
let firstItem = refGroup.OrderByDescending(x => x.created_at)
.FirstOrDefault()
select new MessageDTO {
id = firstItem.id,
content = firstItem.content,
sender_email = firstItem.sender.email
};
Dit doet hetzelfde, maar het vertaalt de hele instructie naar SQL, wat twee voordelen heeft
senderis niet lui geladen voor elk berichtsender.emailcrasht niet wanneersenderis null, omdat er in SQL geen verwijzing naar een null-object is. De hele uitdrukking (sender.email) retourneert gewoon null.