我使用NHibernate映射以下实体:
+ Party (abstract)
- Employee
- Customer
我正在以下列方式使用名为 joined-subclass 的映射策略:
<!-- Base PARTY entity-->
<class name="PartyMap" abstract="true" table="Party">
<id name="Id" column="PartyID">
<generator class="guid.comb" />
</id>
<joined-subclass table="Customer" name="Customer">
<key column="CustomerID" />
</joined-subclass>
<joined-subclass table="Employee" name="Employee">
<key column="EmployeeID" />
</joined-subclass>
</class>
我的问题是在 Party 表中我有以下结构:
PartyTable
PartyID
EmployeeID
CustomerID
虽然NHibernate对映射的每个子表使用 Id 字段。我应该使用像组件这样的不同方法来实现我的目标吗?
答案 0 :(得分:0)
我找到的一个可能的解决方案是在NHibernate框架之上实现事件列表器,这样每次保存实体时我都可以控制传递的值并使用Guid修复错误,而无需创建疯狂的存储过程。 我知道它很丑,但数据库是遗留的,所以我没有太多可以做的