0

私が克服しようとしている状況は一見単純ですが、探している結果が得られていません。特定のアプリケーションのモデルとして機能する EDMX ファイルがあり、Razor エンジンを使用しています。

EDMX ファイルには、次のようないくつかのテーブルからのデータのロールアップであるビューがあります。

1 1 1

1 2 2

1 3 3

2 1 1

2 2 2

3 1 1

したがって、最初の 3 つのレコードは詳細 1 に属し、次の 2 つは詳細 2 に属し、最後のレコードは詳細 3 に属します。ただし、このデータを次のように Web に表示するように「変換」したいと考えています。

1

---1

---2

---3

2

---1

---2

3

---1

私の見解では、私はいくつかの非常に基本的なことをやっています:

 @{
     foreach(var item in Model){
         var items = Model.Where(i => i.ID == item.ID);
         foreach(var itm in items){
           //construct UI loop
         }
     }
  }

私が抱えている問題は、ラムダ式が正しい行数を返している間、「items」には常に「item」の値が n 回繰り返されることです。n は指定された ID に関連付けられた行の数です。

誰かが私が間違っていることと、なぜこれがうまくいかないのか説明できますか?

ありがとう。

4

1 に答える 1

0

提供されたコードは正しいです。ここでの問題は、レコードが EDMX ファイルで同じ EntityKey を持っている場合、それらは同じレコードと見なされ、同じように表示されることです。これが私が抱えていた問題でした。ビューに GUID 列を追加し、ビュー内の他の列から EntityKeys を削除すると、上記のコードは正常に機能しました。

于 2012-05-02T19:30:36.493 に答える