ASP.Net MVC - как я могу легко сериализовать результаты запроса в базу данных? - PullRequest
1 голос
/ 01 апреля 2010

Пока я изучаю ASP.Net MVC, я работал над небольшим поисковиком по свойствам. Я получил результаты из различных таблиц базы данных свойств и отсортировал их по основному ответу общего свойства. Форма поиска передается через связывание моделей и отлично работает.

Теперь я хотел бы добавить нумерацию страниц. Я возвращаю часть свойств для текущей страницы с помощью .Skip () и .Take (), и это прекрасно работает. У меня есть модель SearchResults, в которой есть постраничный набор результатов и различные другие данные, такие как nextPage и prevPage.

За исключением того, что у меня больше нет оригинальной формы, которую можно передать в / Results / 2. Раньше я просто прятал копию формы и делал POST каждый раз, но это выглядит не элегантно. Я хотел бы сериализовать результаты в моей базе данных MS SQL и вернуть уникальный ключ для этого набора результатов - это также помогает с «Отправить этот запрос другу!» ссылка на сайт. Убить двух зайцев одним выстрелом.

Есть ли простой способ взять имеющийся у меня набор результатов IQueryable, сериализовать его, вставить в БД, вернуть уникальный ключ и затем выполнить обратный процесс с помощью указанного ключа? Я использую Linq to SQL в настоящее время при установке MS SQL Express, хотя в производственной среде он будет работать на MS SQL 2008.

1 Ответ

0 голосов
/ 05 июня 2010

Это не отвечает на ваш вопрос о сохранении запросов, но вам нужно реализовать пейджинг.

Рассмотрите возможность использования ASP.NET MVC Paging . Вы добавляете несколько методов расширения, несколько классов и строго набираете свои представления, например, IPagedList<Product> вместо IEnumerable<Product>.

Написание HTML пейджера так же просто, как это:

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

альтернативный текст http://blogs.taiga.nl/martijn/wp-content/uploads/subtext/WindowsLiveWriter/PagingwithASP.NETMVC_D952/aspnetmvc-pager-2_thumb.png

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...