子类和联接子类的NHibernate映射

子类和联接子类的NHibernate映射,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,在我从事的一个项目中,我有以下实体:分析师、客户和承包商。每个都从基类用户继承 然后,我将从基类继承其他类,如下所示: public class Analyst : User { // Empty class. There are no additional properties for an analyst. } public class Client : User { // Empty class. There are no additional properties fo

在我从事的一个项目中,我有以下实体:分析师、客户和承包商。每个都从基类用户继承

然后,我将从基类继承其他类,如下所示:

public class Analyst : User {
    // Empty class. There are no additional properties for an analyst.
}

public class Client : User {
    // Empty class. There are no additional properties for a client.
}

public class Contractor : User {
    public int TotalJobs { get; set; }
    public int JobsInProgress { get; set; }
}
对于上述类,我有以下表格结构:

USER
----
UserId
Username
FullName
UserType (1 = Analyst, 2 = Client, 3 = Contractor)


CONTRACTOR
----------
UserId
TotalJobs
JobsInProgress
没有用于分析人员和客户机类的表


我想知道如何为Contractor类编写NHibernate映射文件。对于其他类,我创建了一个用户映射文件,并添加了Client和Analyst作为子类。如何映射承包商类别?

这非常适合中描述的方法


您是否在子类上尝试了子类

USER
----
UserId
Username
FullName
UserType (1 = Analyst, 2 = Client, 3 = Contractor)


CONTRACTOR
----------
UserId
TotalJobs
JobsInProgress
<subclass name="Contractor" discriminator-value=3>
  <join table="CONTRACTOR">
    <key column="UserId"/>
    <property name="TotalJobs"/>
    <property name="JobsInProgress"/>
  </join>
</subclass>