Выберите сущность с максимальным значением - PullRequest
0 голосов
/ 16 октября 2018

Во-первых, у меня есть таблица SQL с именем EstadosPorDispositivos, со следующими столбцами:

EstadoPorDispositivosID (PK, Int, Auto_Increment)
DispositivoID, 
EstadoDispositivo, 
DateTimeInicio 
DateTimeFinal.

Я хочу получить сущность из той базы данных, которая имеет определенный ID и имеет максимумEstadoPorDispositivosID.

Я на этом этапе:

using (var db = new ContextoDB())
{
    var estado = db.EstadosPorDispositivos
              .Where<EstadosPorDispositivo>(e => e.DipositivoID == this.DispositivoID && ...)
    (...)
}

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Использование Max:

var estado = db.EstadosPorDispositivos.Where(e => e.DipositivoID == this.DispositivoID && ...)
                                      .Max(c => c.EstadoPorDispositivosID)

Или другим способом без использования Max:

var estado = db.EstadosPorDispositivos.Where(e => e.DipositivoID == this.DispositivoID && ...)
                                      .OrderByDescending(t => t.EstadoPorDispositivosID)
                                      .FirstOrDefault()?.EstadoPorDispositivosID;
0 голосов
/ 16 октября 2018

Просто закажите это свойство и возьмите первое.И не забудьте сделать асинхронные вызовы вашей базы данных;)

using (var db = new ContextoDB())
{
    var estado = await db.EstadosPorDispositivos
    .Where(e => e.DipositivoID == this.DispositivoID)
    .OrderByDescending(e => e.EstadoPorDispositivosID)
    .FirstOrDefaultAsync()
    .ConfigureAwait(false)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...