我正在研究一个数据模型,该模型具有一组共享一些常见字段(例如 Id、Name、Description)的类型。更具体地说:
Document 类有一个属性列表。这些属性在我们的域中,类型如 String、Integer、DateTime 和更“复杂”的类型,如 Address 和 String、Integer、Address 等列表。现在,在我的脑海中,我将对 Attribute 类进行建模,以便我有一个抽象基类 (AttributeBase),它包含公共属性(Id、Name、Description),然后在相应的子类中具有更具体的属性。例如 StringAttribute (Value)、IntegerAttribute(Value)、AddressAttribute(Street 等)、StringListAttribute、IntegerListAttribute、AddressListAttribute。我们谈论的是 15-20 个不同的子类。但是您将如何在数据库中对这些类进行建模?你会选择 TPH、TPT 还是 TPC?我已经阅读了有关选择 TPT 和 EF 4.1 并为 TPH 设置一个 massiv 表时的性能损失的信息' 即使性能更好,对我来说听起来也不错。我们正在讨论表中可能有 10000 - 1000000++ 行数据。
当涉及到这些场景时,您有任何第一手经验吗?我真的很想从你这里谈谈这个问题。