c# - 查询为空时的最大返回值

标签 c# .net entity-framework linq lambda

我有这个问题:

int maxShoeSize = Workers
    .Where(x => x.CompanyId == 8)
    .Max(x => x.ShoeSize);

如果公司 8 根本没有 worker ,maxShoeSize 会是什么?

更新:
如何更改查询以获得 0 而不是异常?

最佳答案

int maxShoeSize = Workers.Where(x => x.CompanyId == 8)
                         .Select(x => x.ShoeSize)
                         .DefaultIfEmpty(0)
                         .Max();

DefaultIfEmpty 中的零不是必需的。

关于c# - 查询为空时的最大返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6966680/

相关文章:

c# - 控制级别 ValidateRequestMode 没有效果

c# - 获取相邻实体

c# - 带有 Entity Framework 6 的 "Case statement"中的 "group by query"

c# - 使用 C# 和 WMI 计算客​​户端的打印页数

c# - SQL错误: connection string does not contain the required providerName attribute

c# - 避免在 native 到托管回调上分配字符串

c# - 无法编辑 DataGridView 单元格,验证事件集 e.Cancel = true

c# - Entity Framework Core 中的强类型 ID

c# - Visual Studio 2010 Winforms 总是忘记资源

c# - 有没有办法在 Windows 语音合成器说话时显示音频波?