несколько результирующих наборов в c # MVC - PullRequest
1 голос
/ 18 января 2009

Я использую Asp.NET MVC в качестве основного веб-сервиса для нескольких сайтов asp / jquery типа SearchenGine. Поиск в базе данных прост:

Модель - Sql Server FullText Sproc возвращает XML

Вид - Н / Д

Контроллер - Авторизовать пользователя / Разбор входного содержимого возврата (Model.XML)

Возвращенный XML содержит четыре набора результатов - список элементов, разбивка по категориям, связанные / рекламные элементы и номера подкачки. Предметы, категории и связанные списки содержат несколько элементов и атрибутов.

Сейчас я ищу лучший способ для отображения той же информации в виде MVC - как полной, так и частичной для использования jquery - но я изо всех сил пытаюсь найти лучшее решение. Единственные два, которые я до сих пор придумал, - это синтаксический анализ XML с помощью Linq (это должно быть сделано в View или Controller?) Или наличие SProc, возвращающего наборы результатов, и использование метода NextResult для заполнения нескольких списков (не то, что я разработал как это сделать еще ....)

Все предложения приветствуются, спасибо!

Ответы [ 2 ]

1 голос
/ 19 января 2009

Решили запустить с XDocument (Linq-to-XML); с надстройкой PasteXmlAsXLinq Visual Studio, избавляющей от боли!

Я оставлю ORM до Asp.net MVC RTM. К тому времени должна быть лучшая идея (Entity / Linq & Viewengine) о наиболее подходящем маршруте для полного «преобразования» MVC.

0 голосов
/ 18 января 2009

Для анализа XML - как насчет использования XmlSerializer для десериализации графа объектов?

Нужно ли возвращать XML? Как насчет возврата регулярных сеток, которые вы можете прочитать напрямую? Например, одним из вариантов является использование ORM, такого как LINQ-to-SQL DataContext - тогда вы можете просто выполнить сгенерированный метод, который предоставляет вам данные в виде объектов.

В качестве альтернативы - возможно, отрендерить xml с помощью преобразования xsl?

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