【问题标题】:How to convert linq query to non-query expression?如何将 linq 查询转换为非查询表达式?
【发布时间】:2016-07-06 13:46:54
【问题描述】:

我使用 EF6,我有这个 linq to entity 查询:

   from s in SensorObservationEntities.SensorsMeasures
            group s by s.SensorUnitId into g
            let latest = g.OrderByDescending(s => s.MeasureDate).FirstOrDefault()
            select latest

如何将其转换为非查询表达式?

【问题讨论】:

  • 凭借您的声誉,您应该知道您需要告诉我们您到目前为止所做的尝试。

标签: c# entity-framework linq


【解决方案1】:

你的意思是方法语法:

SensorObservationEntities.SensorsMeasures.GroupBy(g => g.SensorUnitId)
             .Select(y => y.OrderByDescending(x => x.MeasureDate).FirstOrDefault());

【讨论】:

    【解决方案2】:

    如果你想把它转换成方法语法版本,你可以一步一步做。我喜欢从头开始,从头到尾:

    1. selectSelect 定义源:

      .Select(g => g.OrderByDescending(s => s.MeasureDate).FirstOrDefault());
      
    2. groupGroupBy

      .GroupBy(s => s.SensorUnitId)
      .Select(g => g.OrderByDescending(s => s.MeasureDate).FirstOrDefault());
      
    3. from来源

      SensorObservationEntities.SensorsMeasures
      .GroupBy(s => s.SensorUnitId)
      .Select(g => g.OrderByDescending(s => s.MeasureDate).FirstOrDefault());
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多