MySQL 将多个参数绑定到单个查询
MySQL binding multiple parameters to a single query
我有一个 MySql 数据库,我正在使用 Dapper 从 .Net 应用程序连接到它。我有以下代码:
await connection.ExecuteAsync(
"DELETE FROM my_data_table WHERE somedata IN (@data)",
new { data = datalist.Select(a => a.dataitem1).ToArray() },
trans);
当我使用多个值执行此操作时,出现以下错误:
MySqlConnector.MySqlException: 'Operand should contain 1 column(s)'
我在 MySql / Dapper 中尝试做的事情是否可行,或者我是否必须针对要删除的每一行发出一个查询?
您的原始代码几乎没问题。您只需要删除参数周围的括号。 Dapper 会为您插入这些:
await connection.ExecuteAsync(
"DELETE FROM my_data_table WHERE somedata IN @data",
new { data = datalist.Select(a => a.dataitem1).ToArray() },
trans);
我有一个 MySql 数据库,我正在使用 Dapper 从 .Net 应用程序连接到它。我有以下代码:
await connection.ExecuteAsync(
"DELETE FROM my_data_table WHERE somedata IN (@data)",
new { data = datalist.Select(a => a.dataitem1).ToArray() },
trans);
当我使用多个值执行此操作时,出现以下错误:
MySqlConnector.MySqlException: 'Operand should contain 1 column(s)'
我在 MySql / Dapper 中尝试做的事情是否可行,或者我是否必须针对要删除的每一行发出一个查询?
您的原始代码几乎没问题。您只需要删除参数周围的括号。 Dapper 会为您插入这些:
await connection.ExecuteAsync(
"DELETE FROM my_data_table WHERE somedata IN @data",
new { data = datalist.Select(a => a.dataitem1).ToArray() },
trans);