当子类具有不可为空的字段时,每个层次表的映射?

时间:2010-11-05 15:57:08

标签: nhibernate nhibernate-mapping table-per-hierarchy

我有一个带有抽象基类和4-5子类的类层次结构。我想使用NHibernate的table-per-class-hierarchy映射方法将这些映射到单个数据库表,以减少我的查询生成的连接数。

但是,其中一个子类具有其他子类缺少的非null属性。这意味着每当我尝试保存其他一个子类型的实体时,我都会收到一条SQL错误,指出丢失的字段不能为空。

这是否意味着每个层次表只与我的域模型不兼容,或者还有其他我需要做的事情?

1 个答案:

答案 0 :(得分:1)

对于没有该属性的类,您希望该字段包含什么?

因为它可能是NULL,所以你应该让它可以为空,但在你的模型/业务逻辑中验证它。