c# - Dapper 输出参数被 mysql 解释为 null

标签 c# mysql dapper

我正在尝试从 Mysql 5.6.10 (AWS Aurora) 中的测试套件运行这个简单的 Dapper 示例。

var p = new DynamicParameters(new { a = 1, b = 2 });
p.Add("c", dbType: DbType.Int32, direction:ParameterDirection.Output);
cnn.Execute(@"set @c = @a + @b", p);
var results = p.Get<int>("@c");

但是,正在引发异常。 @c 被解释为 NULL> enter image description here

我想使用两个输出参数来返回受插入语句影响的行数和最后插入的 ID。

最佳答案

我发现用dapper从mysql中获取参数似乎是不可能的,所以我修改了你的代码以达到结果。

var p = new DynamicParameters(new { a = 1, b = 2 });
//p.Add("c", dbType: DbType.Int32, direction: ParameterDirection.Output);
//conn.Execute(@"set @c = @a + @b", p);
using (var reader = conn.ExecuteReader(@"set @c = @a + @b; select @c;", p))
{
    //var results = p.Get<int>("@c");
    if (reader.Read())
    {
        var result = reader.GetInt32(0);
    }
}

关于c# - Dapper 输出参数被 mysql 解释为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36819966/

相关文章:

c# - .net core 6 的 Visual Studio 22 构建时间慢

php - 在 Laravel 中向嵌套查询添加 where

mysql - 无法连接到 Ubuntu 中的 mysql 数据库

c# - 什么是等效于 modelBuilder 的 HasDefaultValueSql 的 Entity Framework Core 属性?

c# - 表单应用中连接字符串的单一声明

c# - 如何在 C# 中将窗体居中

java - 设置 Apache Mahout 以使用 MySql

c# - 如何修复 "Incorrect syntax near ' )'"。当查询中没有 ) 时

c# - 如何用dapper解析Sql Script? (设置 PARSEONLY ON + Dapper)

c# - 程序化地为 Dapper 创建一个动态对象