2011-07-27 13 views
0

質問文を作成するためにエンティティフレームワークを使用しようとしています。私はすべての質問モデルをロードすることはできません - それぞれがstackoverflowexceptionで失敗します。Entity Framework - System.Data.Entity.dllに「System.StackOverflowException」型の未処理の例外が発生しました - なぜですか?

他のEDMXファイルには他のモデルがあり、これまでのところうまく機能しています。

QuestionEntities qc = new QuestionEntities(); System.Data.Objects.ObjectSet<FormView> qvs = qc.FormViews;

オーバーフロー2行目で発生します。

私が知る限り、それらはすべて遅延ロード用に設定されているため、DB全体をロードしようとしてはいけません。その場合、すべての再帰的なナビゲーションプロパティを削除しようとしましたが、それでも失敗します。

私は発見した唯一の同様のエントリは、1つだけ繰り返し(Iも同様に試みた)EDMXを再起動によって解決されたこと、残念ながらC# - Entity Framework - An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll

あります。

任意の助けをいただければ幸いです、ありがとう

答えて

2

は、あなたが問題を引き起こす可能性があり、いくつかの再帰的なプロパティ定義を有することができ、あなたの生成されたコードに見てください。スタックオーバーフローは、無限ループで終わる再帰呼び出しでのみ発生します。

モデルとコードを投稿すると、問題の原因を簡単に見つけることができます。

検索に再帰的に含まれていたテーブルがあった場合、同じ問題が発生しました。たとえば、ファイルシステムのようなツリー構造のディレクトリを考えてみましょう。ディレクトリには、ディレクトリである子が含まれています。オーバーフロー。

+0

私が言ったように、私はモデルに再帰的な要素を持っていません。私はそれを私の元の質問に載せます。 –

+0

外部キーと同じクラスへの参照と同様の再帰的なナビゲーションプロパティを確認します。 –

+0

すべてのリレーションシップとナビゲーションプロパティを削除して、これが問題ではないことを確認しました。 –

関連する問題