Entity Framework 4.1 を使用して、MVC3 アプリに取り組んでいます。LINQ クエリを実行し、 として返しましたIEnumerable<T>
。しかし、コントローラーではInclude(other entity)
、のようにを使用する必要があるため、ObjectSet
他のエンティティ値 (クエリを実行しているエンティティに関連付けられている) を表示できます。IEnumerable<T>
からへの明示的なキャストを試みましObjectSet<T>
たが、例外がスローされます。から取得ObjectSet
しIEnumerable
たり、エンティティを含める方法はありますIEnumerable
か?
前もって感謝します。
2 に答える
2
コンテキストがまだ生きている場合(使用を終了していない場合)、および行っていない場合は、.ToList()
にキャストできるはずですObjectQuery<T>
。
より安全な方法は、 queryableがIQueryable<T>
であるかどうかをチェックする拡張メソッドを使用することです。ObjectQuery<T>
ObjectQuery<T>
于 2012-09-02T15:42:04.727 に答える
0
IEnumerable にキャストすると、データソースから切断されます。
DAL がまだ IQueryable または IObjectQuery である間に、関連するエンティティを DAL に含め、完全な結果を IEnumerable として返す必要があります。
そうしないと、DB で余分なヒットが発生します。
シ
于 2012-09-02T15:33:14.383 に答える