实体框架 NullReferenceException 在调用 SP 时调用 ToArray() 并在 Result 中返回 NULL?

Entity Framework NullReferenceException calling ToArray() when calling SP and returned NULL in Result?

提问人:YaserFashami 提问时间:11/10/2020 最后编辑:YaserFashami 更新时间:11/10/2020 访问量:63

问:

我有一个 SP 返回一个有时包含 Null 的十进制列表,我收到 NullRefrenceException

var estimationLastRoleRowResults = _databaseContext.Database.SqlQuery<decimal>("SELECT RowResult FROM ES.GetEstimationItemItems(@EstimationID, 4, @RoleNumber, 1, 1, 1, 1)",
new SqlParameter("@EstimationID", item.ObjectID),
new SqlParameter("@RoleNumber", item.RoleNumber - 1)).ToArray();

我该如何解决这个问题?

实体框架 LINQ Lambda NullReferenceException

评论


答:

0赞 YaserFashami 11/10/2020 #1

必须为调用 SP 定义可为 null 的结果

var estimationLastRoleRowResults = _databaseContext.Database.SqlQuery<decimal?>("SELECT RowResult FROM ES.GetEstimationItemItems(@EstimationID, 4, @RoleNumber, 1, 1, 1, 1)",
new SqlParameter("@EstimationID", item.ObjectID),
new SqlParameter("@RoleNumber", item.RoleNumber - 1)).ToArray();