首页 > 解决方案 > 从我的数据库中检索一些空数据时遇到问题?

问题描述

我试图从我的数据库中获取特定值,但我遇到了一些异常,我无法管理它,有什么建议吗?

我已经尝试使用??运营商,但仍然有问题。

这是我的代码行:

var Emp_Attendance_ID = db.Emplooyee_Attendance.Where(a => a.Employee_ID == item.Id).Max(p => p.Attendance_ID);

我期待一个 ID,但我得到的只是以下异常:

转换为值类型“System.Int32”失败,因为具体化值为 null。结果类型的泛型参数或查询必须使用可为空的类型。

标签: c#sqlentity-frameworklinq

解决方案


我会在 where 中进行空检查,然后从剩余元素中获取匹配项(如果有的话)。

var Emp_Attendance_ID = db.Emplooyee_Attendance
    .Where(a => a.Employee_ID != null)
    .Where(a => a.Employee_ID == item.Id)
    .Max(p => p.Attendance_ID);

让我知道它是否可以解决您的问题。


推荐阅读