Dapper 更新后显示“可能的空引用返回”错误

Dapper shows "possible null reference return" error after updating

提问人:Dorian 提问时间:10/3/2023 最后编辑:TylerHDorian 更新时间:10/3/2023 访问量:90

问:

我有这个代码:

public async Task<T> QuerySingleOrDefault<T>(string sqlStatment, object parameters, CommandType commandType = CommandType.StoredProcedure, int timeout = 90, EnumConnStrings ConnString )
{
    using SqlConnection connection = new SqlConnection(_appSettings.DataSource.GetConnectionById(ConnString));
    return await connection.QuerySingleOrDefaultAsync<T>(sqlStatment, parameters, commandType: commandType, commandTimeout: timeout);

}

现在,在更新Dapper后,它显示一个错误:

可能的 null 引用返回

与声明行。return

Dapper 中有什么变化吗?我应该怎么做才能禁止显示或解决此消息?

C# .NET null 警告 dapper

评论

1赞 b166er 10/3/2023
您可能正在寻找 QuerySingleAsync?Single or default 表示如果未找到 single,它将返回 default。

答:

1赞 nalka 10/3/2023 #1

正如 b166er 的评论所说,如果什么都找不到,将返回默认值。如果你看一下,你可以看到它返回的意思是默认值将为 null(因为 )。QuerySingleOrDefaultAsyncQuerySingleOrDefaultAsyncTask<T?>T?

您返回了该调用的结果(可能为 null),但您的方法返回了 ,这就是您收到该警告的原因。Task<T>

若要修复警告,必须根据需要确保不会返回 null 或将方法的返回类型更改为Task<T?>