EF4:当关系仅在层次结构的子类型上定义时,如何包含相关对象

时间:2012-04-06 15:06:16

标签: inheritance entity-framework-4 include load

这是我的问题: 我有一个代码第一个EF4模型,我有一个TBH层次结构。 所以,我在一个数据库中有一个表,该数据库映射到从基类A继承的2个类(A1和A2)。 A1类定义了另一个类的导航属性(例如,一对一)。 我的问题是:如何包含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()。 有没有办法一次加载所有的集合?

0 个答案:

没有答案