我有这个代码:
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 有什么变化吗?我应该怎么做才能抑制或解决此消息?
正如 b166er 的评论所说,如果什么也没找到,
QuerySingleOrDefaultAsync
将返回默认值。如果您查看 QuerySingleOrDefaultAsync
,您可以看到它返回 Task<T?>
,这意味着默认值将为 null(因为 T?
)。
您正在返回该调用的结果(可能为空),但您的方法返回
Task<T>
,这就是您收到该警告的原因。
要修复警告,根据您的需要,您必须确保不会返回 null 或将方法的返回类型更改为
Task<T?>