我想使用抽象基础实体在我的 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
我是否误解了抽象实体的使用?