选择一个具有最大值的实体

时间:2018-10-16 14:05:24

标签: c# .net entity-framework linq

首先,我有一个名为EstadosPorDispositivos的SQL表,其中包含以下列:

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 :(得分:2)

只需按该属性排序并获取第一个。 并且不要忘记让您的数据库调用异步;)

MismatchedInputException

答案 1 :(得分:2)

使用https://ci.apache.org/projects/flink/flink-docs-stable/dev/local_execution.html#collection-environment

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;