関連するプロパティ(DateTime) と(String) およびその他の値を持つMeasurement
オブジェクトがあります。CreationTime
Reference
DbContext
そのための効率的なlinqクエリを書きたいと思います
- 与えられたグループで
Measurement
オブジェクトをグループ化Reference
CreationTime
グループの最初のプロパティまたはプロパティMeasurement
の平均のいずれかでグループを並べ替えますCreationTime
- クエリを最新のものに制限する
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();
の「最新」のグループをMeasurement
正しく選択するにはどうすればよいですか?
MySQL データベース (MySql Connector/Net 6.6.4) で Entity Framework 4.4 を使用しています。この例は簡略化されています。必要に応じて、より詳細に説明したり、例を示したりできます。
ありがとう!