如何在nhibernate继承中进行向下转换
How to do downcasting in nhibernate inheritance
我有两个 classes Manager 和 Employee,以及数据库中的两个表。 经理class继承了员工class。我想将 一名员工转变为经理。我有什么办法可以在 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);
在 NHibernate 中无法做到这一点,它假定一旦您创建了一个实体,它就始终是该类型。
我有两个 classes Manager 和 Employee,以及数据库中的两个表。 经理class继承了员工class。我想将 一名员工转变为经理。我有什么办法可以在 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);
在 NHibernate 中无法做到这一点,它假定一旦您创建了一个实体,它就始终是该类型。