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

上一篇: Curly brackets in OrmLite select query throws error

下一篇: ORMLite SQL Server Update