小编zuf*_*und的帖子

实体框架 - 具有order by和group by的Linq查询

我有Measurement对象具有相关属性CreationTime(DateTime)和Reference(字符串)以及一些其他值.

我想一个高效的LINQ查询写入DbContext

  • Measurement按给定的方式分组我的对象Reference
  • 通过组CreationTime中第一个属性MeasurementCreationTime属性的平均值对组进行排序
  • 将查询限制为最新 numOfEntries

(在后面的步骤中,我计算这些返回组的平均值,但我想这与我的问题无关.)

DbContext本身有一个DbSet<Measurement>调用Measurements保存所有Measurement对象.

我提出了以下查询,这会产生一个正确排序但缺少某些组的组列表.

var groupByReference = (from m in context.Measurements
                          orderby m.CreationTime
                          group m by new { m.Reference } into g
                          select g).Take(numOfEntries).ToList();
Run Code Online (Sandbox Code Playgroud)

如何Measurement正确选择"最近的"组?

我正在使用Entity Framework 4.4和MySQL数据库(MySql Connector/Net 6.6.4).这个例子是简化的,我可以进一步详细说明和/或在必要时给出一个例子.

谢谢!

c# mysql linq entity-framework

12
推荐指数
2
解决办法
10万
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1

mysql ×1