我正在尝试使用SubSonic 3.0过滤GetPaged()结果,但我找不到方法。
我尝试过使用以下内容:
var list = Class.Find(filter);
var paged = new SubSonic.Schema.PagedList<Class>(list, 1, 10);
这似乎不起作用,我得到一个无法转换错误,这将违背分页的原因,因为我将从数据库中提取整个列表。
如果有人有方法使用SubSonic 3.0检索已过滤的分页列表,我们将不胜感激!
提前致谢。
答案 0 :(得分:1)
在关于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>();