抽象的な基本エンティティを使用して、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
抽象エンティティの使用法を誤解していませんか?