Entity Framework/Linq Получить последнюю запись из списка с условиемC#

Место общения программистов C#
Ответить
Anonymous
 Entity Framework/Linq Получить последнюю запись из списка с условием

Сообщение Anonymous »

У меня есть список записей по нескольким идентификаторам UserID.

Код: Выделить всё

TableID  UserID  Status
------------------------
1        3       3
2        4       3
3        3       4
4        4       3
5        5       4
6        5       3
Я пытаюсь получить все UserID, у которых самая последняя запись для них (TableID) имеет статус 4. В примере она должна возвращать только 1 запись: TableID 3, UserID 3.
UserID 5 не следует возвращать, поскольку, хотя у них есть статус 4, самая последняя запись для них была статусом 3.
Я пробовал это:-

Код: Выделить всё

await _context.Orders!
.GroupBy(u => u.UserID)
.Select(g => g.OrderBy(x => x.TableID).Where(x => x.Status == 4).FirstOrDefault())
.ToListAsync();
Но при этом возвращается любой UserID со статусом 4, даже если это не самая последняя запись.


Подробнее здесь: https://stackoverflow.com/questions/798 ... -condition
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»