EF6存储过程-输出方向参数

EF6 stored procedure - output direction parameter

运行 带有输出方向参数的 EF6 存储过程的正确方法是什么?

List<MySqlParameter> parms = new()
{
   new MySqlParameter { ParameterName = "@FilterJson", Value = JsonConvert.SerializeObject(input) },
   new MySqlParameter { ParameterName = "@OutputJson", Direction = System.Data.ParameterDirection.Output }
};

var response = ReportingDetail.FromSqlRaw(
   @"CALL p_detail_get(@FilterJson, @OutputJson)",
   parms.ToArray()
);

此代码引发错误:

MySqlConnector.MySqlException: 'Only ParameterDirection.Input is supported when CommandType is Text (parameter name: @OutputJson)'

预期输出为 JSON,类似于: {"rows_count": 7, "actual_page": 1, "pages_count": 1}

问题不在于连接,其他没有输出方向的程序也能正常工作。定义一种类型的 @OutputJson 并不能解决问题 - MySqlDbType = MySqlDbType.JSONDbType = System.Data.DbType.Object.

感谢您的帮助

根据 MySqlConnector disscussion,无法通过它 return 输出方向参数。您可以尝试编写 ADO.NET 代码来忽略此限制。