NHibernate映射:我可以在鉴别器中为表设置n类吗?

时间:2013-09-20 13:57:55

标签: c# oop nhibernate inheritance mapping

我尝试将NHibernate与现有的SQL库一起使用。 (我是NHibernate编程的新手)

我有一个Vehicule表,其中包含有关Vehicules和Trucks的信息,但我没有任何鉴别器。所以我不能使用“子类”。

我希望有两个同名的车辆类,但名称不同......

My Tourism.Vehicule课程:

public class Vehicule : BaseBusinessObject, Tourisme.IVehicule
{
    /// <summary>
    /// Voir <see cref="IVehicule"/>
    /// </summary>
    public virtual int Color { get; set; }

   [...]
}

My Utility.Vehicule Class:

public class Vehicule : Tourism.Vehicule, Utility.IVehicule
{
    /// <summary>
    /// Voir <see cref="IVehicule"/>
    /// </summary>
    public virtual int Capacity { get; set; }

   [...]
}

我为每个类引用了一个映射,引用了Vehicule Sql表。

加载映射时出错:“重复导入”

如果我将Utility.Vehicule重命名为UtilityVehicule,将Tourism.Vehicule重命名为TourismVehicule 没关系。 但是,当我在TourismVehicule类上执行SELECT时,NHibernate执行一个TourismVehicule请求和一个UtilityVehicule请求!!!

我设法通过打破这两个类之间的继承来按类只有一个请求....我认为不是一个非常明智的解决方案! (我想保留继承)

有没有人有更好的方法来做到这一点?

感谢

0 个答案:

没有答案