ここに私の問題があります:私はTBH階層を持つコードファーストEF4モデルを持っています。したがって、基本クラス A から継承する 2 つのクラス (A1 と A2) にマップされたデータベースにテーブルがあります。クラス A1 は別のクラス (たとえば 1 対 1) にナビゲーション プロパティを定義します。私の問題は次のとおりです: B 関連のインスタンスを含めるにはどうすればよいですか?
私はこのようなことはできません:
Dim res = From a In dbContext.A.Include("B_rel_obj")
Select a
B_rel_obj は A1 に対してのみ定義されており、A にも A2 にも定義されていないためです。
私の解決策は次のとおりです。
Dim res = From a In dbContext.A
Dim res1 = From a1 In res
Where TypeOf(a1) Is A1
Select a1
For Each a1 As A1 In res1
dbContext.Entry(a1).Reference(Function(a) a.B_rel_obj).Load()
Next
それは機能しますが、結果を Load() にループするのは好きではありません。一度にすべてのコレクションをロードする方法はありませんか?