使用分区鉴别器列映射分区表

我有一个遗留的Oracle 10g数据库。 此数据库有一个表ITEMDELIVERY ,其ITEMDELIVERY DELIVERY_DATE 。 该表由此列分区。 因此,此表的主键是包含ITEMDELIVERY_IDDELIVERY_DATE列的复合键。
还有另一个表ITEMDELIVERYDETAIL它有一个FK到ITEMDELIVERY 。 为了能够从分区中受益并且能够自己进行分区,该表有一个PARTITION_DATE列。 ITEMDELIVERY_IDPARTITION_DATE形成FK到ITEMDELIVERY

PARTITION_DATEITEMDELIVERYDETAIL没有商业含义,只是出于技术原因。 因此,我想避免在我的实体中指定此列。
我在IAutoMappingOverride的实现中尝试了以下内容:

 mapping.Map(x => x.ItemDelivery.DeliveryDate).Column("PARTITION_DATE"); 

但这不起作用,我得到以下exception:

NHibernate.PropertyNotFoundException:在“Domain.ItemDeliveryDetail”类中找不到属性“DeliveryDate”的getter

有没有办法实现我的目标?

我认为这个问题的答案是在另一个问题中使用ItemDelivery中的ItemDeliveryDetail参考。

 mapping.References(x => x.ItemDelivery) .Columns("ITEMDELIVERY_ID", "PARTITIONDATE"); 

这使得它不可见,自动填充,并且对其父级的引用是理智的

在“经典”NHibernate中,我曾经通过在属性映射中添加access="private"来解决类似的问题。 这告诉NHibernate映射到私有成员变量,因此对模型的其余部分是不可见的。

流畅的NHibernate有一个解决方案 ,用他们自己的话来说并不理想,但它确实支持该function。

如果您对在您的域中拥有它不感兴趣,为什么要映射它? 如果要映射Item的属性,请将其添加到ItemDelivery类映射中