【问题标题】:Querying a derived entity in the ObjectContext (Table-per-hierarchy)在 ObjectContext (Table-per-hierarchy) 中查询派生实体
【发布时间】:2012-03-13 13:54:17
【问题描述】:

我正在做Walkthrough: Mapping Inheritance - Table-per-Hierarchy (Entity Data Model Tools)

这是模型:

实体 Instructor 和 Student 是具有 BaseType Person 的派生类型。

问题是:如果 Instructor 和 Student 实体在 ObjectContext 中不可见,如何直接在 LINQ 中查询它们?

我期待做这样的事情:

var result = from student in ctx.Students select student;

派生实体似乎仅作为实体 (EntityObject) 而不是作为 ObjectSet 存在。

谢谢!

【问题讨论】:

    标签: c# entity-framework entity-framework-4


    【解决方案1】:

    您应该在为您生成的ObjectContext class 上有一个People 属性。从那里,您可以获得所有基本类型:

    var allPeople = ctx.People;
    

    或者,如果您想要一个特定的派生类型,您可以在IQueryable<T> 上使用OfType extension method,如下所示:

    var students = allPeople.OfType<Student>();
    var instructors = allPeople.OfType<Instructor>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-08
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多