我有以下查询:
var maxNumber = dbContext.Where(a => a.Id == 9).Max(a => a.Sample_Num);
如果没有9的Id,我会收到错误.如果没有ID为9,我喜欢将结果默认为0.
我试过了:
var maxNumber = dbContext.Where(a => a.Id == 9).Max(a => a.Sample_Num) ?? 0; 
以及其他变化,但无法使其工作
我有一个不可空的字段(Num)
class MyTable
{
    //...
    public int Num { get; set; }
    public string Category { get; set; }
    //...
}
想找到最大Num的Category == "A"  
var maxnum = myTable
   .Where(r => r.Category == "A")
   .Max(r => r.Num);
当没有任何记录时,问题就出现了category == "A".因为结果Where()为null所以结果Max()将为null但是当Num不可为空时发生异常.
我可以通过Num在表设计中设置为可空来修复它,但我不喜欢这个解决方案,虽然它Num应该有价值,不应该是可空的.
有什么建议吗?有没有办法我接受Num的空值而Num不可为空?或任何更好的查询?