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 に答える