1
如果你有下面的类:映射表上课
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))
为了填充男类,你将不得不运行SQL语句,他说:在哪里性别='男性'。这是一个糟糕的设计选择,其中一个数据库表有两个类?即存在一对多的关系。
谢谢,我没有使用NHibernate。辨别器的概念是否仍然适用? – w0051977
在我的情况下,数据库中的鉴别器列包含大约三十个不同的值。 – w0051977
NHibernate只是一个ORM工具。 ORM的概念不是NHibernate独有的。您拥有的鉴别器值的数量并不重要。事实上,鉴于你有很多不同的类型,我认为你选择的很好。否则,想象不得不维护30个独立的桌子!如果你需要添加更多的子类,你还有另外一个好处,你只需要提出一个新的鉴别值,而不需要一个新的表。 – DeanOC