继承和导航属性

时间:2012-04-26 15:46:31

标签: entity-framework wcf-data-services

我有这样的关系:

class FirstParent {
   public SecondParent SecondRecord { get; set; }
}

class SecondParent {
   public IEnumerable<FirstParent> FirstRecords { get; set; }
}

class FirstChild1 : FirstParent {
   public String StrInFirstChild1{ get; set; }
}

class SecondChild1 : SecondParent {
   public String StrInSecondChild1{ get; set; }
}

class FirstChild2 : FirstParent {
   public String StrInFirstChild2{ get; set; }
}

class SecondChild2 : SecondParent {
   public String StrInSecondChild2{ get; set; }
}

与FirstChild1类相关的记录属于SecondChild1类型。 与FirstChild2类相关的记录属于SecondChild2。

写作时

var record = from ch in context.FirstParent.OfType<FirstChild1>() select ch.SecondRecord;

在结果中我也有SecondParent对象。 怎么了?如何加载SecondChild1对象?

1 个答案:

答案 0 :(得分:0)

我找到了一个决议。我从所有四个表中加载记录并加入以收集匿名对象所需的信息。