将表映射到类

时间:2013-01-14 19:00:55

标签: vb.net design-patterns

如果您有以下课程:

Public Class Male
    Inherits Person

    Private Age As integer
    Private TelephoneNumber As String

End Class

和下表

CREATE TABLE Person (ID int identity not null, Age int, TelephoneNumber varhchar(30), sex varhchar(6), primary key (ID))

为了填充Male类,你必须运行一个SQL语句,说:WHERE Sex ='MALE'。这是一个糟糕的设计选择,其中一个数据库表有两个类?即有一对多的关系。

1 个答案:

答案 0 :(得分:1)

这是Table per Class Hierarchy,完全可以接受。此设计模式使用单个表来存储多个子类,并使用鉴别器(在您的情况下为Sex)来区分它们。