条件に応じて SQL Server 2008 からデータをフィルター処理する必要がある .NET アプリケーションを開発しています。私のデータ構造は次のようになります。
結果はキーでグループ化およびソートする必要があります。デフォルトでは、キーごとにリビジョンが null の行が返されますが、revisionParameter が設定されている場合は、対応するリビジョン番号の行が返されます。パラメータが 2 の場合、出力は次のようになります。
abc 2 FALSE
def null TRUE
ghj 2 FALSE
klm null TRUE
LINQでこれを達成するにはどうすればよいですか? ありがとう
編集: lazyberezovsky への応答: あなたの LINQ 式はラムダとして書き直されました:
partial void RuleEntriesByUserSaveId_PreprocessQuery(int? UserSaveId, ref IQueryable<RuleEntry> query)
{
query = query.Where(re => re.Revision == null || re.Revision == value)
.GroupBy(re => re.Key)
.Select(g => g.FirstOrDefault(x => x.Revision != null) ?? g.First());
}