OrmLite中的大括号选择查询会引发错误
看起来像OrmLite普通选择扩展方法( Select<T>
)试图格式化查询字符串(如SelectFmt<T>
),所以如果查询字符串包含花括号,它假定缺少参数,它会引发错误。
示例查询:
db.Select<Company>("Website='http://www.test.com/?session={123}'");
引发错误:
Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
理想情况下, Select<T>
应该只是逐字执行查询,而不用任何字符串格式。
它是OrmLite中的一个错误,还是别的?
更新:似乎问题在OrmLiteDialectProviderBase类中。 它应该检查参数长度等。
您可以使用SqlList<T>
API来执行自定义SQL,以避免OrmLite进行预处理,但您需要提供完整的SQL语句,例如:
var results = db.SqlList<Company>(
"SELECT * FROM Company WHERE Website='http://www.test.com/?session={123}'");
链接地址: http://www.djcxy.com/p/65975.html