2012-04-15 17 views
3

エンティティフレームワーク4を使用していますが、いくつかのエンティティ間で循環参照を使用していますが、スタックローフロー例外が発生しています。Entity Frameworkの循環参照のDatacontractシリアル化の問題

その後、私は遅延読み込みが偽として有効とInclude()方法を使用して、関連するすべてのエンティティを含むが、それでも同じエラーを取得しています...助けを必要作った....

答えて

1

あなたのサイクルを削除することができない場合WCF cyclic referencesのようなもので修正する必要があります

+0

[DataContract(IsRefernce)]属性は問題を解決する必要がありますが、まだ私は幸運ではありません... –

6

以前は - 循環参照を引き起こすプロパティに[IgnoreDataMember]属性を追加して解決しました。これは、通常、親エンティティを参照するナビゲーションプロパティでした。

+0

ありがとうございますが、私たちは問題をDTOを使用して解決しました。基本的にはアーキテクチャ上の問題です。できるだけ避けなければなりません。 –

+0

@davelこの答えはかなり古くなっていますが、このような状況に陥ったときにEFコードの属性を最初に生成したクラスに入れていますか? dbからモデルを再生成すると(そのルートに行くと)、その属性を持たないクラスが自動的に再生成されるとどうなりますか? – Kritner

+0

ええと、私たちはdbからモデルを生成しています...私はdbからモデルを作り直した後、手動のステップでなければならないと思います。私はこれを使った場所さえも覚えていません... –