質問

エンティティフレームワークを使用してデータベースを接続しています。

いくつかのフィールドを持っているテーブル(「ファイル」と呼びましょう)を持っています。

ID、バージョン、XYZ Primarkyキーは、IDとバージョンに基づいています。したがって、同じIDでいくつかの行を持つことができますが、異なるバージョン(および逆)があります。

質問は:

どうすれば、ラムダの表現を使用して、エンティティフレームワークを尋ねて、「ファイル」のすべての最後のバージョンを返すようにしてください。

例:データ:

 ID;Version;Other
 1;1;YX
 1;2;YZ
 2;1;AH
 2;2;BH
 2;5;CA
 1;3;AAA

結果:

 1;3;AAA
 2;5;CA

ありがとうございました!

!!目標は、データベースがすべての行を返す必要がなく、1回だけ呼ばれることです。したがって、getAllrowsのようなソリューションを忘れてコレクション全体を読んで最新のもののみを保存するか、すべての可能なIDのリストを取得して最後のものを取得することです。別のリクエストのバージョンforeach。ありがとう!

役に立ちましたか?

解決

????????????LinqToEntites???????????????

var result = from f in myEntities.Files
             group f by f.ID into g
             select g.OrderByDescending(f => f.Version).FirstOrDefault();

????????????First???FirstOrDefault??????????????????UnsupportedException??????:

  

?????????????????????????????????????????????????????FirstOrDefault??????????????????

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top