2012-09-13 4 views

答えて

62

を仕事に

var maxNumber = dbContext.Where(a => a.Id == 9).Max(a => a.Sample_Num) ?? 0; 

だけでなく、他のバリエーションが、取得することができませんでした:私は、私が試した9

のIDが存在しない場合は0に結果をデフォルトに好きそこに一致する要素だかどうかを確認するためにAnyを使用します。

int maxNumber = 0; 
var id9 = dbContext.Where(a => a.Id == 9); 
if(id9.Any()) 
{ 
    maxNumber = id9.Max(a => a.Sample_Num); 
} 

か、使用できDefaultIfEmpty(defaultValue)

int maxNumber = dbContext 
    .Where(a => a.Id == 9) 
    .Select(a => a.Sample_Num) 
    .DefaultIfEmpty(0) 
    .Max(); 
+24

+1はDefaultIfEmptyを巧みに使っています。 –

+3

合意。 2回目の列挙を強制するので、 'Any()'を使うのは嫌です。 – Paul

+0

^1 Timはスマートでハンサムです。 –

関連する問題