当Dapper不是对象时,如何使用Dapper正确声明SQL更新请求中的变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当Dapper不是对象时,如何使用Dapper正确声明SQL更新请求中的变量?相关的知识,希望对你有一定的参考价值。

我想这样做:

public int UpdateOneColumn(string dbName, string tableName, string columnName, string newValue, string whereColumnName, string whereColumnNameValue)
{
    string sql = @"update @tableName set @columnName = @newValue where @whereColumnName = @whereColumnNameValue";

    return connection.Execute(sql, new {tableName, columnName, newValue, whereColumnName, whereColumnNameValue });    
}

但是我收到了一个错误

必须声明tableName

有人知道如何正确声明我的变量“tableName,columnName,newValue,whereColumnName和whereColumnNameValue”?

这个功能是否正确? (我不确定我能做update @tableNamewhere @whereColumnName

答案
public int UpdateOneColumn(string dbName, string tableName, string setColumn, object setValue, string whereColumn, object whereValue)
{
    string sql = $"UPDATE {tableName} SET {setColumn} = @s WHERE {whereColumn} = @w";
    return connection.Execute(sql, new { s = setValue, w = whereValue });    
}

以上是关于当Dapper不是对象时,如何使用Dapper正确声明SQL更新请求中的变量?的主要内容,如果未能解决你的问题,请参考以下文章