为什么Limit()"方法在ServiceStack OrmLite v4中不再存在
本文关键字:OrmLite ServiceStack v4 存在 不再 方法 Limit quot 为什么 | 更新日期: 2023-09-27 18:15:43
在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;
谢谢。
在ServiceStack。在OrmLite v4中,Limit()似乎只能作为SqlExpression<T>
的扩展使用。构建查询:
var query = db.From<SWChars>().Limit(10);
query = query.Where<SWChars>(char =>
char.FirstName == "Jar Jar" &&
char.FunnyLines < 0);
var result = db.Select<SWChars>(query);
我希望这能帮助到一些人。我用谷歌搜索了几个小时。
我可以在文档中看到OrderBy
/OrderByDescending
,它看起来像:
var rows = db.SelectLazy<Employee>().OrderBy<Employee>(e=>e.Age).Take(10);
这可能有助于Limit
问题ServiceStack。OrmLite:编写自定义SQL并获得结果集的方法在哪里?