2013-10-28 8 views
7

新しいASP.NET MVC 5プロジェクトがあり、IdentityDbContextを使用してコードの最初のデータベースをクエリしようとしています。デバッガの問題でEF6でIEnumerableを列挙する「子が評価できませんでした」エラー

特定のDbSetにクエリを実行してブレークポイントを挿入すると、IEnumerableの内容を読み込もうとするとVS 2013で子どもを評価できないというメッセージが表示されます。

は何かがEF6でデバッガで評価IQueryablesなど不可能を作るように変更しています4.

私はEF5/MVCでこの問題を持っていませんでしたか?これは、それが今のところどのように動作するかです

おかげ

+0

これは遅延ロードへの変更可能性があります。このような状況では、Quick ViewまたはLINQPadを使用します。 –

+0

私はそれができると思います!私はLinqPadを持っています - あなたはこの文脈でどのように使用しますか? – Sergio

+1

LINQPadで接続を設定し、コードからコードスニペットをdbContextでコピーして実行します。 –

答えて

7

は、うまくいけば、それはいくつかの点で固定されますが、今のあなたは、時計のウィンドウを経由しての「ToListメソッド()」ものを持っています。アー!

EFチームトリアージ:これの背景にある根本的な原因は、Lazyの外部の問題です。この問題を回避するためにLazyの独自の再実装を作成することについて議論しましたが、この段階ではその努力を正当化するとは思われません。これについて今後さらに苦情が見られる場合は、再検討します。

>最善の回避策は、ToList()または同様のもの( コードまたはウォッチ)を追加して結果を確認することです。

http://entityframework.codeplex.com/workitem/1898

+5

これは苦情と考えています。 – localman

+0

ウォッチウィンドウでToList()を追加すると、ウォッチ値に次のエラーが表示されます。 \t \t関数評価では、すべてのスレッドが実行されている必要があります。 ??? –

関連する問題