【问题标题】:ASP.Net MVC - how can I easily serialize query results to a database?ASP.Net MVC - 如何轻松将查询结果序列化到数据库?
【发布时间】:2010-04-01 03:13:28
【问题描述】:

在学习 ASP.Net MVC 时,我一直在研究一个小型属性搜索引擎。我已经从各种属性数据库表中获得了结果,并将它们分类为一个主通用属性响应。搜索表单通过模型绑定传递,效果很好。

现在,我想添加分页。我正在使用 .Skip() 和 .Take() 返回当前页面的属性块,效果很好。我有一个 SearchResults 模型,其中包含分页结果集和其他各种数据,例如 nextPage 和 prevPage。

除了,我当然不再有原始形式传递给/Results/2。以前我只是隐藏了表单的副本并每次都做一个 POST,但这似乎不优雅。我想将结果序列化到我的 MS SQL 数据库并返回该结果集的唯一键 - 这也有助于“将此查询发送给朋友!”关联。一石两鸟。

有没有一种简单的方法来获取我拥有的 IQueryable 结果集,对其进行序列化,将其粘贴到数据库中,返回唯一键,然后使用所述键反转该过程?我目前在 MS SQL Express 安装上使用 Linq to SQL,但在生产中它将在 MS SQL 2008 上。

【问题讨论】:

  • 我没有关注。您是否正在即时生成查询并尝试保存它?您能否提供一些代码以清楚说明?

标签: asp.net asp.net-mvc linq serialization


【解决方案1】:

这并不能回答你关于保存查询的问题,但它是为了你需要实现分页。

考虑利用这个ASP.NET MVC Paging solution。例如,您添加一些扩展方法、一些类,并使用 IPagedList<Product> 而不是 IEnumerable<Product> 强类型化您的视图。

编写分页器 HTML 就这么简单:

<div class="pager">
    <%= Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount) %>
</div>


(来源:taiga.nl

【讨论】:

    猜你喜欢
    • 2021-08-22
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 2018-11-03
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多