如何在nhibernate继承中进行向下转换

时间:2015-06-04 12:49:05

标签: inheritance nhibernate

我有两个类经理员工,并且在数据库中有两个表。 Manager类继承Employee类。我想员工转换为经理。我有什么办法可以在 nhibernate 中做到这一点吗?

public class Employee
{
    public virtual string Name { get; set; }
}

public class Manager : Employee
{
    public virtual string CabinNumber { get; set; }
}

我想将ID为employeeId的员工转换为经理并将其保存在数据库中:

var employee = Repository.Get<DomainModel.Models.Sadhak>(employeeId);
DomainModel.Models.Manager manager = (DomainModel.Models.Manager) employee;
manager.CabinNumber = "A65";
session.Delete(employee);
session.SaveOrUpdate(manager);

1 个答案:

答案 0 :(得分:0)

在NHibernate中没有办法做到这一点,它假定一旦你创建了一个实体,它总是那种类型。