我正在使用Entity Framework的数据库优先方法来创建领域模型。
我考虑创建一个基础表EntityBase,其中包含基本属性:
PK
CreatedDate
CreatedBy
ModifiedDate
ModifiedBy
etc.
使用“每类型表继承”(Table Per Type inheritance)后,我将在数据库中得到一个与所有其他实体表相连的单个表:
EntityBase {
EntityBase_PK => Identity PK
CreatedDate
CreatedBy
ModifiedDate
ModifiedBy
}
DerivedEntity1 {
DerivedEntity1_PK => FK relationship to EntityBase on EntityBase_PK
Property1
...etc
}
DerivedEntity2 {
DerivedEntity2_PK => FK relationship to EntityBase on EntityBase_PK
Property2
...etc
}
...etc
我认为这个方案可以适用于Entity Framework, 但我担心从数据库设计的角度看,这是否是一个好的设计。
显而易见的好处是,我可以在整个数据库中获得所有实体的唯一主键,但我担心每次更新都会影响到EntityBase表的性能,并且可能会对表锁定产生影响。
您有什么想法吗?