ASP.NET MVC 2: вызов хранимой процедуры, получение нескольких ResultSets - PullRequest
0 голосов
/ 25 ноября 2010

Каким образом можно получить доступ ко второму, третьему, четвертому наборам результатов?

Контроллер:

var dataContext = new DealDataContext();
XElement xmlString = new XElement("asd");
var deals = dataContext.spSearchDeals(xmlString);
return View(deals);

Вид:

<% foreach (spSearchDealsResult d in (IEnumerable)ViewData.Model)
 { %>

    <li> <%: d.TagLabel  %> </li>

<% } %>

Это так просто, как только получается ... но я могу получить доступ только к самому первому результату. ПОМОГИТЕ!

1 Ответ

1 голос
/ 25 ноября 2010

Да, известное ограничение / ненависть к животным с Linq To Sql.Когда вы отбрасываете сохраненные процедуры на холст, L2SQL генерирует метод с типом возвращаемого значения ISingleResult<T>.

. Обходной путь заключается в использовании Entity Framework ...

Шучу, здесь - это обходной путь L2SQL.

В основном вы меняете тип возвращаемого значения на IMultipleResult<T>.(кто знал)

На заметку - почему вы перебираете элементы в ViewData?Вы возвращаете модель в виде, вам следует напрямую связать ее с этой моделью.

Например

Inherits="System.Web.Mvc.ViewPage<IEnumerable<SearchDeal>>"

, а затем:

<% foreach (var deal in Model.SearchDeals) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...