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

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

我有这个代码:

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 后显示错误:

可能返回空引用

return
声明一起上线。

Dapper 有什么变化吗?我应该怎么做才能抑制或解决此消息?

c# .net null warnings dapper
1个回答
0
投票

正如 b166er 的评论所说,如果什么也没找到,

QuerySingleOrDefaultAsync
将返回默认值。如果您查看
QuerySingleOrDefaultAsync
,您可以看到它返回
Task<T?>
,这意味着默认值将为 null(因为
T?
)。

您正在返回该调用的结果(可能为空),但您的方法返回

Task<T>
,这就是您收到该警告的原因。

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

Task<T?>

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