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

本文关键字:子类 映射 属性 NHibernate | 更新日期: 2023-09-27 18:33:26

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

我的班级结构

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)

使用NHibernateC#,我希望解决这种情况。
我的大多数表都包含审核分项(它们的创建者、修饰符和日期时间)
我希望以这样的方式映射,即用户ID应保存为"创建者"和"修改者"字段,并且日期是直接映射。
但是所有这些细节在我的类结构中是一个单独的实体,称为 Audit
请帮助我提供针对此类情况的映射表。
任何帮助,不胜感激。

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

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

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