为什么ServiceStack OrmLite v4中不再存在“Limit()”方法?
在ServiceStack OrmLite v3中你可以这样做:
var rows = db.Select().Limit(10));
要么:
var rows = db.Select().Limit(5, 10)); // skips 5 then takes 10
但是我在v4中找不到这些方法了。
我想我可以做以下事情:
var rows = db.SelectLazy().Take(10);
但是,如何进行db.Select
(不必编写直接SQL)将转换为(例如在SQLite中):
SELECT * FROM Employee LIMIT 10;
此外,是否可以为下面写一个等效的查询(再次无需编写直接SQL)?
SELECT * FROM Employee ORDER BY Age;
谢谢。
在ServiceStack.OrmLite v4中,Limit()似乎只能作为SqlExpression
的扩展。 要构建查询:
var query = db.From().Limit(10); query = query.Where (char => char.FirstName == "Jar Jar" && char.FunnyLines < 0); var result = db.Select (query);
我希望这可以帮助别人。 我花了几个小时的谷歌搜索。
我可以在文档中看到OrderBy
/ OrderByDescending
,它看起来像:
var rows = db.SelectLazy().OrderBy (e=>e.Age).Take(10);
这可能有助于Limit
问题ServiceStack.OrmLite:编写自定义SQL并获取结果集的方法在哪里?