如何在NHibernate和C#中映射子类和子类属性

时间:2012-05-05 15:15:43

标签: c# xml nhibernate

如何在Nhibernate中映射这种类型的子类容器情况。帮助我提供映射xml结构

My Class Strucutre

public class Employee
{
    public virtual int EmpID;
    public virtual string EmpName;
    public virtual Audit AuditDetails;
}

public class Audit
{
    public virtual User CreatedBy;
    public virtual DateTime CreatedOn;
    public virtual User ModifiedBy;
    public virtual DateTime ModifiedOn;
}

public class User
{
    public virtual int UserID;
    public virtual string FullName;
    public virtual Audit AuditDetails;
}

我的数据库表结构

Employee
EmpID(int pk) | EmpName(varchar) | CreatedBy(int) | ModifiedBy(int) | CreatedOn(date) | ModifiedOn(date)

User
UserID (int pk) | FullName(varchar) | CreatedBy(int) | ModifiedBy(int) | CreatedOn(date) | ModifiedOn(date)

使用 NHibernate C#我希望解决这种情况。
我的大多数表都包含审计detials (创建者,修改者和他们的日期时间)
我希望以这样的方式映射:用户ID 应保存为 CreatedBy ModifiedBy 字段,而日期则是直接映射。<登记/> 但是这些细节在我的班级结构中是一个名为审核的独立实体 请帮助我提供这种情况的制图表 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果要将Audit实体放在同一个表中,则需要使用<component>。这是一个教程:

http://ayende.com/blog/3937/nhibernate-mapping-component