1

如何在 CodeFirst 中进行专业化?像这样:

https://users.cs.jmu.edu/bernstdh/web/common/lectures/images/specialization_vehicle.gif

试图找到它,但没有任何成功。我正在为我的 mv4 互联网应用程序构建数据库。

4

1 回答 1

3

你有三个选项可以做到这一点,

  1. TPT - 每个类型
    的表 每个类型的表是关于将继承关系表示为关系外键关联。每个声明持久属性的类/子类——包括抽象类——都有自己的表。基本上,层次结构中的每个实体都有一个表。

  2. TPH - Table per hierachy
    通过非规范化 SQL 模式启用多态性,并利用保存类型信息的类型鉴别器列。基本上,您将拥有一张用于实体层次结构的表

  3. 每个具体类型的 TPC 表
    在每个具体类型的表(也称为每个具体类的表)中,我们为每个(非抽象)类只使用一个表。您将为层次结构中的每个具体类型创建一个表。

    有关更多详细信息,请阅读链接中给出的文章。您的下一个问题将是什么是最好的方法。我认为这取决于您的域以及您为每个实体拥有的数据和列的数量。而且您还需要考虑性能和可维护性。这是一篇很好的文章,供您做出决定。

于 2013-07-30T03:18:51.107 回答