如何在Dapper中插入SQL文字作为查询参数
本文关键字:文字 查询 参数 SQL 插入 Dapper | 更新日期: 2023-09-27 17:58:52
我想插入SQL语句的一部分作为参数,而不是串联以使其整洁:
connection.Query(@"
SELECT @Fields
FROM Table
WHERE ID = @Id
", new { Fields = "A, B", Id = 1});
我尝试将参数字符串包装在一个自定义类中,并使用Dapper 映射该类
public class SqlString
{
public readonly string Value;
public SqlString(string sql)
{
Value = sql;
}
public override string ToString()
{
return Value;
}
}
...
Dapper.SqlMapper.AddTypeMap(typeof(SqlString), System.Data.DbType.Object);
但无济于事。
不能在t-SQL中参数化字段名。
在将SQL字符串传递到Connection.Query()
方法之前,必须使用动态字段名生成动态SQL。