Ham*_*mid 2 c# entity-framework nullable max where
我有一个不可空的字段(Num)
class MyTable
{
//...
public int Num { get; set; }
public string Category { get; set; }
//...
}
Run Code Online (Sandbox Code Playgroud)
想找到最大Num的Category == "A"
var maxnum = myTable
.Where(r => r.Category == "A")
.Max(r => r.Num);
Run Code Online (Sandbox Code Playgroud)
当没有任何记录时,问题就出现了category == "A".因为结果Where()为null所以结果Max()将为null但是当Num不可为空时发生异常.
我可以通过Num在表设计中设置为可空来修复它,但我不喜欢这个解决方案,虽然它Num应该有价值,不应该是可空的.
有什么建议吗?有没有办法我接受Num的空值而Num不可为空?或任何更好的查询?
int maxShoeSize = Workers.Where(x => x.CompanyId == 8)
.Select(x => x.ShoeSize)
.DefaultIfEmpty(0)
.Max();
Run Code Online (Sandbox Code Playgroud)
请参阅:如果为空查询,则返回最大值
| 归档时间: |
|
| 查看次数: |
2041 次 |
| 最近记录: |