我继承了一个相当有问题的代码库,其中原始开发人员将所有内容声明为可为空,我正在尝试慢慢删除不必要的可为空值。 但偶尔我做的太多,某些值会导致 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)
如果您使用 ORM(EF、Dapper)并且您的模型具有可为空的属性,您可以为这些属性设置默认值