Как правильно объявлять переменные в запросе на обновление SQL с Dapper, когда это не объект? - PullRequest
0 голосов
/ 31 августа 2018

Я хотел бы сделать этот запрос:

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 @tableName и where @whereColumnName)

1 Ответ

0 голосов
/ 03 сентября 2018
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 });    
}
...