Ok!
私は両方の技術が素晴らしいと言わなければなりません。なにかわからないようですが。
データベースにデータがあります(他のテーブルへの参照があるテーブルのデータを表示したいとします)。
List、IEnumerable、IQueryableなどのモデルがあります...
したがって、私の見解では、オブジェクトのリストを調べて、他のテーブルへの参照の優れた機能を利用したいと思います。あなたがいる間、コントローラーに問題はありません
using (var datatabse = new MyEntity)
{
}
ただし、db has disposedの使用を終了し、一般的なエラーが発生すると、ObjectContextインスタンスが破棄され、接続を必要とする操作に使用できなくなります。
したがって、エンティティオブジェクトのメモリ内コピーを作成する他のオプションは表示されません...しかし、すべてのクールなEF4参照を失い、最初にモデルにデータを手動でロードしてから、foreachを使用してビューに表示する必要があります。
したがって、List <(EF4Type)>またはIEnumerable <(EF4Type)>またはIQueryable <(EF4Type)>の代わりに
List <(MyCustomHelperClass)>を実行する必要があります。ここで、MyCustomHelperClassは、エンティティオブジェクトと同様のプロパティを持つクラスを表し、参照されるテーブルのプロパティにアクセスできないため、おそらくいくつかの追加が必要です。次に、foreachを実行し、このリストとデータをロードする必要があります。すべてを表示するRazorのビューの別の@foreach。
2倍の作業があり、プロジェクトが大きい場合は、必要なhelperClassesがどれほどマニーであるかをより大きく把握できます。このクールな新技術はすべて、本当にそのように使用されることを意図していたのでしょうか?....または何かが足りないのでしょうか。