2

Linq to Entityクエリを使用してアプリケーション開発の一部で、匿名オブジェクトにデータをフェッチして(つまり、複数のテーブルからデータをフェッチして変数に格納する)とします。後でこのフェッチ/匿名データにアクセスするには、Razor Viewが必要です。私はここで何をすべきですか?私が何を考えてLinq to Entity(EF 4.1)の匿名タイプですか?

は匿名型のプロパティの対応するプロパティを保持している別のViewModelを設計し、強くのViewModelに型付けされたビュー/かみそりを作るのですか?これはEF 4.1の匿名型を扱う正しい方法ですか?すなわち各匿名型に対してViewModelを作成し、フェッチしたデータをそのオブジェクトに格納する。彼らは唯一のこれまでその方法で使用される通常は使い捨てタイプですので

+0

それは私が行く方法でしょう。特定のテーブルから列を取得する必要がある場合。通常、このデータに多くのアクセスを必要とする場合は、データベース(MSSQL、MySQL)でビューを作成し、対応するモデルクラスを作成します。 – kamranicus

答えて

4

アン匿名型は、法の範囲外での使用のために意図されていません。

ビューからモデルを完全に分離するために、ViewModelを介して通常のクラスにデータを読み込むことをお勧めします。フェッチされたデータを保持するためにカスタムクラスを使用し、次にControllerでViewModelにそのクラスを設定し、ViewModelに強く型付けされたかみそりビューを持たせます。 これはややコンパクトですが、より良い分離が得られます。

+0

柔道は私が求めるものです。つまり、これは、2つ以上のテーブルから取り出されたデータを扱う場合には、良いアプローチですか? – RollerCosta

+0

はいこれは私の意見ではテーブルの数に関係なく良いアプローチです。データが取り出されるテーブルの数はそれほど関連しません。 – Judo

関連する問題