我不确定我的问题是否可以以一种或多或少的方式解决。
有一个类人物已将'hasOne'映射为参与者。
此人有生日,但此人不需要此字段。但是,如果我想将参与者添加到那么,则需要生日。
也许有人有更好的主意,我使用nHibernate Validator并在那里我在类中配置验证(信息'birthday'不是两者的属性 - 也许这将是一个解决方案?)
答案 0 :(得分:0)
如您所述,使用NHibernate验证器属性。这将在参与者课程中。这对你有用吗?它在基类上是可选的,并且如您所见可以为空(在覆盖时不能更改类型)
[NotNull, NotEmpty]
public override DateTime? Birthday { get; set; }
这仍然可以在DB中保持字段可空,但是如果没有每个类实现的表而不是每个层次结构流程实现的类,则不会看到这种情况。您的域验证将在那里进行保护。