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