0

2番目、3番目、4番目の結果セットにはどのようにアクセスできますか?ASP.NET MVC 2:複数のResultSetsを呼び出すストアドプロシージャを呼び出す

コントローラー:

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> 

<% } %> 

それはにつれて、このような単純な...しかし、私は非常に最初のresulsetにアクセスすることができます。助けて!

答えて

1

はい、Linq To Sqlの既知の制限/嫌悪感。キャンバスに保存されたprocsをドロップすると、L2SQLは戻り値の型がISingleResult<T>のメソッドを生成します。

回避策hereがL2SQLの回避策です、冗談Entity Frameworkの...

を使用することです。

基本的に返品タイプをIMultipleResult<T>に変更します。 (誰が知っていたか)

サイドノート - なぜViewData内の項目を反復処理していますか?ビューでモデルを返す場合は、そのモデルに直接バインドする必要があります。

例えば

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

、その後:

<% foreach (var deal in Model.SearchDeals) %> 
+0

私は、Entity Frameworkのわからないんだけど、私はただのSPROCを呼び出し、結果を得るに達成しようとしているものを。私はスキーマの設計などに対処する必要はありません。私はsprocを呼び出し、結果を受け取ってそれらを反復してページに表示したいだけです。 – dcolumbus

+0

"Entity Framework"ステートメントは冗談でした。あなたはスキーマに触れる必要はありません - あなたはSPROCを持っており、それをL2SQLデザイナに追加しました。追加した記事は、あなたが望むことをする方法を示しています。問題は何ですか? – RPM1984

+0

問題は、あなたが私を送った例の中で、 "typeof"がデザイナにドラッグされたテーブルエンティティに関連していることです。私の場合、それはどうなっているのでしょうか... – dcolumbus

関連する問題