【发布时间】:2011-03-04 14:37:21
【问题描述】:
我正在使用 NHibernate 将类映射到数据库表。 Part 表有一个 ID 列(主键)和一个 ParentPart 列(以及其他一些列)。
class Part
{
public virtual long ID{ get; set; }
public virtual Part ParentPart { get; set; }
}
ParentPart 通常是零件表中的另一个有效零件,但我有两种特殊情况。我有一种情况,ParentPart 列可以为 0(零),另一种情况可以为 -1。这两种情况目前都不代表另一个有效的 Part 对象。我在想我可以制作两个永远不会持续存在的 Part 子类(ZeroPart 和 NegativeOnePart)。我希望在列中输入零和 -1 值,但不保留整个 ZeroPart 或 NegativeOnePart 对象。我不确定如何映射它(我正在使用 hbm 文件)或者这是否是正确的方法。
我如何映射它以便保留正常的有效部分,但我也可以处理特殊情况?
顺便说一句:我当前的 hbm 文件的 Part.ID 的未保存值为零,但我认为我可以在映射中将其更改为不同的值并在类中默认它。
【问题讨论】:
标签: nhibernate nhibernate-mapping