如何使用MVC3根据实体框架(EF)4.3中的某些属性值切换到不同的表

本文关键字:属性 MVC3 何使用 实体 框架 EF | 更新日期: 2023-09-27 18:29:26

假设我有一个基类Component和两个派生类ComponentA和ComponentB,如下所示:

public class Component
{
   public int ComponentID {get; set;}
   public int ComponentType {get; set;}
   // some other statements ...
}

然后

public class ComponentA : Component
{
   // some statements ...
}
public class ComponentB : Component
{
   // some statements ...
}

现在,根据Component类中的COmponentType值,如何切换到ComponentA或ComponentB并检索它们的相关数据。

这是如何在edmx中做到这一点的例子之一,但我想知道在EF中的代码优先方法中是否有同样的方法。http://www.c-sharpcorner.com/UploadFile/ff2f08/entity-framework-4-0-tph-part-2/

如何使用MVC3根据实体框架(EF)4.3中的某些属性值切换到不同的表

您不需要componentType属性。在EF上使用继承时,可以使用OfType方法从派生类中获取数据。类似于;

myContent.Component.OfType<ComponentA>();