2012-04-21 17 views
1

遅延読み込みを有効にしたコンテキスト上に2つのエンティティがあります。私はPOCOを使用しています。最初のものを読み込むと、関連するエンティティが表示され、2番目のエンティティを読み込んでエンティティをナビゲートします。具体的には、Accountから継承するCashAccountの関連エンティティとしてCurrency(仮想としてマークされている)を持っています。また、Accountから継承するSuspenseAccountも継承しています。 SuspenseAccountを読み込むと、Currencyはnullになります。しかし、CashAccountを読み込んでCurrencyプロパティを使用すると、SuspenseAccountのCurrencyが適切に読み込まれます。なぜこれが問題なのか、どのように修正するのかについてのアイデアをお持ちの方?Entity Frameworkでの遅延読み込みの問題

+0

このモデルの簡単なスケッチと、エンティティを読み込むコードをコードで書き留めることができますか? – Slauma

+0

Phew!私は問題が何かを知った! SuspenseAccountクラスにはpublicコンストラクタがありませんでした(コンストラクタのみがinternalとマークされています)。明らかに、これはPOCO LazyLoadingロジックが蹴られるのを防ぎ、関連エンティティが両方とも同じであったため、別のエンティティの関係にアクセスした後に関係が修正されました。 @Slauma - ありがとうございます。今ソートされています。 – Tolu

+0

それは面白いです!あなたは答えとしてこれを書くことができますか?人々は問題が解決されたことを見ることができます。 (あなたは自分の答えを受け入れることができます)私は以前は民間のコンストラクタと同様の現象がありました(EFは遅延ローディングプロキシを作成しませんでした)が、保護されたコンストラクタではありませんでした。私は内部のコンストラクタが問題になる可能性はないと推測しました。 – Slauma

答えて

1

私は問題が何かを知った! SuspenseAccountクラスにはpublicコンストラクタがありませんでした(コンストラクタのみがinternalとマークされています)。明らかに、これにより、POCO LazyLoadingロジックが起動しなくなり、関係エンティティの関係が同じであるため、別のエンティティの関係にアクセスした後に関係が修正されました。

関連する問題