在ServiceStack OrmLite v3中你可以这样做:
var rows = db.Select<Employee>().Limit(10));
或者:
var rows = db.Select<Employee>().Limit(5, 10)); // skips 5 then takes 10
但是我在v4中找不到这些方法。
我想我可以做以下事情:
var rows = db.SelectLazy<Employee>().Take(10);
但是,如何进行db.Select
(不必编写直接SQL)将转换为(例如在SQLite中):
SELECT * FROM Employee LIMIT 10;
此外,是否可以为下面编写一个等效查询(同样不必编写直接SQL)?
SELECT * FROM Employee ORDER BY Age;
感谢。
答案 0 :(得分:4)
在ServiceStack.OrmLite v4中,Limit()似乎仅作为JOIN
的扩展名提供。要构建查询:
SqlExpression<T>
我希望这可以帮助别人。我花了几个小时的谷歌搜索。
答案 1 :(得分:1)
我可以在文档中看到OrderBy
/ OrderByDescending
,它看起来像:
var rows = db.SelectLazy<Employee>().OrderBy<Employee>(e=>e.Age).Take(10);
这可能会对Limit
问题ServiceStack.OrmLite: Where is the method to write custom SQL and get result set back?