ServiceStack.OrmLite:编写自定义SQL并获取结果集的方法在哪里?
我一直在https://github.com/ServiceStack/ServiceStack.OrmLite上阅读以找到方法,所以我可以执行正常的SQL(字符串命令),并获得结果集,但我认为没有。
我正在测试OrmLite v 4.0.17.0。
在上面的页面中,有一个方法SqlList提到,但我没有这样的方法可用:
我有一个ExecuteSql,但我没有得到任何结果集,只是一个int:
那么,有两个问题:
- 有没有办法执行自定义查询,一个接受字符串作为参数的方法,然后我返回结果集,行或对象或其他什么?
- 当我在它时,我如何创建一个“LIMIT”,例如“SELECT * FROM a LIMIT 10”?
这是版本信息:
是的,我最近注意到db.SqlList
在OrmLite v4重构中丢失了,所以我在这个提交中恢复了它。 这将在本月底之前的v4的下一版本中提供。
您仍然可以使用db.Select
进行原始SELECT查询,例如:
var results = db.Select("SELECT * FROM a LIMIT 10");
当它不是SELECT语句时,它只是一个问题,因为我们假设它是短手的:
var results = db.Select("Foo = 'bar'");
并自动为您添加其余的SQL,但是当您没有发出SELECT
语句时这是一个问题,例如调用存储过程,这是db.SqlList
,因为原始SQL保持不变。
在Typed Expression API中支持LIMIT
使用限制查询的另一种方法是使用类型化表达式API,例如:
var results = db.Select(q => q.Limit(10));