1
我想使用抽象基础实体在我的EF模型(.edmx)中使用泛化。使用抽象实体
所以,我提出以下
我设置了抽象的标志上基础机构
预期的输出将类似于下面的
但是,当我查看生成的SQL时,我注意到它创建了我不想要的抽象基表。 问题是,在ConcreteEntity_A或ConcreteEntity_B中的Id可以是相同的,所以如果它也被添加到基本实体,我有问题。
-- Creating table 'AbstractBaseSet'
CREATE TABLE [dbo].[AbstractBaseSet] (
[Id] int NOT NULL
);
GO
-- Creating table 'AbstractBaseSet_ConcreteEntity_A'
CREATE TABLE [dbo].[AbstractBaseSet_ConcreteEntity_A] (
[Id] int NOT NULL
);
GO
-- Creating table 'AbstractBaseSet_ConcreteEntity_B'
CREATE TABLE [dbo].[AbstractBaseSet_ConcreteEntity_B] (
[Id] int NOT NULL
);
GO
我误解了抽象实体的用法吗?
当我将关系移动到派生表时,基表仍然被创建 – 2012-07-27 09:15:21
您首先使用模型(从模型生成数据库)吗?模型首先使用TPT继承,其中基类拥有自己的表。 – 2012-07-27 09:54:21
是的,我先使用模型,现在要改变它已经晚了。所以我想我不能在这里使用泛化:( – 2012-07-27 09:59:16