如何使用 ActiveRecord 在 SubSonic 3.0 中过滤 GetPaged

发布于 2024-10-18 15:42:37 字数 315 浏览 1 评论 0原文

我正在尝试使用 SubSonic 3.0 过滤 GetPaged() 结果,但我一直找不到方法。
我尝试使用以下方法:

var list = Class.Find(filter);
var paged = new SubSonic.Schema.PagedList<Class>(list, 1, 10);

这似乎不起作用,我收到无法转换错误,这将违背分页的原因,因为我将从数据库中提取整个列表。

如果有人有一种使用 SubSonic 3.0 检索过滤分页列表的方法,我们将不胜感激!

提前致谢。

I'm attempting to filter a GetPaged() result using SubSonic 3.0 but I haven't been able to find a way.
I've tried using the following:

var list = Class.Find(filter);
var paged = new SubSonic.Schema.PagedList<Class>(list, 1, 10);

This doesn't appear to work, I'm getting a cannot convert error and this would go against the reason for paging, as I'd be pulling the entire list from the database.

If anyone has a method to retrieve a filtered paged list using SubSonic 3.0 it would be much appreciated!

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

滴情不沾 2024-10-25 15:42:37

在有关 subsoinc 的问题中,您应该始终说您是否使用 ActiveRecord、LinqTemplates 或 SimpleRepository,这使得更容易找到合适的示例

建议您使用 ActiveRecord,您可以使用 linq 方法:

int page = 0;
int pageSize = 10;

var query = from c in Class.All()
            orderby c.Name
            select c;

var totalPages = (int)(query.Count() / pageSize) + 1;

var paged = query.Skip(page*pageSize).Take(pageSize);

foreach(var item in paged)
    Console.WriteLine(item.Name);

或使用 QueryTool:

var db = new YourDB();
var result = db.Select.From<Class>()
               .Paged(page, pageSize)
               .ExecuteTypedList<Class>();

In a question regarding subsoinc you should always say if you are using ActiveRecord, LinqTemplates or the SimpleRepository, which makes it easier to find a appropriate example

Suggested you are using ActiveRecord, you can use the linq approach:

int page = 0;
int pageSize = 10;

var query = from c in Class.All()
            orderby c.Name
            select c;

var totalPages = (int)(query.Count() / pageSize) + 1;

var paged = query.Skip(page*pageSize).Take(pageSize);

foreach(var item in paged)
    Console.WriteLine(item.Name);

or with the QueryTool:

var db = new YourDB();
var result = db.Select.From<Class>()
               .Paged(page, pageSize)
               .ExecuteTypedList<Class>();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文