在nhibernate中没有表的子类

时间:2016-04-07 19:50:14

标签: nhibernate

我有一个“Identity”类,映射到NHibernate的表。

然后我在一个单独的程序集中有一些其他类,候选人,员工...... 这些类也被映射,每个类都具有Identity类型的属性。

现在在DB中添加了一些新表,并引用了从Identity映射的表。这些新表表示的数据应该只与Candidate,Employee,....存在于同一个程序集中。

所以我的设置是这样的:

  • 具有“身份表”外键的新表
  • 我需要将这些表映射到程序集中的新类,这些表依赖于(因此不能依赖于)标识所在的程序集

我不知道如何处理这种映射。

我虽然可以创建一个继承Identity的新类,但是这个类会有“标量”属性甚至是“键”,这个类只是一组一对多属性的占位符。 / p>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用 table per subclass 继承策略,并将子表的所有属性映射为组件。

您最终会使用IdentityForTable1 : IdentityIdentityForTable2 : Identity等类,分别拥有属性ComponentForTable1 PropertyForTable1ComponentForTable2 PropertyForTable2

有关继承策略,请参阅此page,并查找每个子类的。然后,您应该将每个joined-subclass中的属性映射为component