如何查找System.Data.SqlTypes.SqlNullValueException的原因?

问题描述 投票:0回答:1

我继承了一个相当有问题的代码库,其中原始开发人员将所有内容声明为可为空,我正在尝试慢慢删除不必要的可为空值。 但偶尔我做的太多,某些值会导致 NULL 异常。有没有比“目测”更简单的方法来找到违规区域?

System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
   at Microsoft.Data.SqlClient.SqlBuffer.ThrowIfNull()
   at Microsoft.Data.SqlClient.SqlBuffer.get_Int64()
   at Microsoft.Data.SqlClient.SqlDataReader.GetInt64(Int32 i)
   at lambda_method1651(Closure, QueryContext, DbDataReader, ResultContext, SplitQueryResultCoordinator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
   at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken)
.net entity-framework
1个回答
0
投票

如果您使用 ORM(EF、Dapper)并且您的模型具有可为空的属性,您可以为这些属性设置默认值

© www.soinside.com 2019 - 2024. All rights reserved.