首页 > 解决方案 > .net core 2 尝试将参数传递给 mysql 命令时出现奇怪的错误

问题描述

_context.Database.ExecuteSqlCommand($@"UPDATE table SET column = 
CONCAT(column,'?{string}') WHERE id = {id}");

string 是一个字符串变量,它包含一个要附加到数据库中的值,但不知何故,附加在数据库中的字符串是 ?@p0 而不是 ?value 我使用的是 pomelo mysql。

标签: mysqlentity-frameworkasp.net-core-2.0

解决方案


查看“Dapper”库以与您的数据库进行交互。然后对于代码,您可以这样做:

using Dapper;

string sql = "UPDATE table SET column = CONCAT(column, @s) WHERE id = @id";
using (var connection = new SqlConnection(yourConnectionString))
{
        try
        {
            connection.Execute(sql, new { @id = yourid, s = string });
        }
        catch (SqlException e)
        {
            Debug.WriteLine(e);
        }
}

推荐阅读