Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IEnumerable<Message> messages = await context.Messages
- .Where(m => m.Recipient_Id == userId || m.Author_Id == userId)
- .Select(m => new
- {
- Partner = m.Recipient_Id == userId ? m.Author_Id : m.Recipient_Id,
- Message = m
- })
- .GroupBy(m => m.Partner)
- .SelectMany(messageGroup => messageGroup
- .Where(lastMessage =>
- lastMessage.Message.Time == messageGroup.Max(m => m.Message.Time))
- .Take(1))
- .Select(m => m.Message)
- .ToListAsync();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement