Entity framework 如何使用EntityFramework4.0将相同的实体映射到相同的表?

Entity framework 如何使用EntityFramework4.0将相同的实体映射到相同的表?,entity-framework,entity,Entity Framework,Entity,在我的概念模型中,我有一个“框”,可以包含“x”个小部件。一些小部件可以存档,并且不经常访问。一个框可以包含一个或多个小部件。为了支持最大的数据库性能,我想使用两个相同的数据库表;一个用于普通小部件,一个用于存档小部件。我不希望Box实体有两个不同的小部件集合,例如IList和IList,一个包含归档和活动小部件的集合 如何将“Box”实体映射到同时使用归档表和活动表的“Widget”实体?有一种方法可以尝试解决这个问题:创建一个由NewWidget和ArchivedWidget组成的视图。这将

在我的概念模型中,我有一个“框”,可以包含“x”个小部件。一些小部件可以存档,并且不经常访问。一个框可以包含一个或多个小部件。为了支持最大的数据库性能,我想使用两个相同的数据库表;一个用于普通小部件,一个用于存档小部件。我不希望Box实体有两个不同的小部件集合,例如IList和IList,一个包含归档和活动小部件的集合


如何将“Box”实体映射到同时使用归档表和活动表的“Widget”实体?

有一种方法可以尝试解决这个问题:创建一个由NewWidget和ArchivedWidget组成的视图。这将适用于读取数据

另一种方法是进入edmx文件并尝试在那里修复它。但我认为这是不可能的,因为如果您创建一个新的小部件并说save,EF将不知道将它放在哪个表中


您可以使用这两种类型生成EF模型,然后将类型定义移动到基类中,这两个小部件都从基类继承。我还没有尝试过这个方法,因此不确定它是否有效。

您可能希望查看每种类型继承的表。