在Fluent NHibernate中自动生成列的复合键

时间:2014-11-27 10:04:48

标签: mysql fluent-nhibernate fluent-nhibernate-mapping

我在MySql数据库中有一个表,如下所示:

CertificateYear CHAR(4) (PK)
CertificateNumber INT AUTOINCREMENT (PK)
... other fields

密钥是复合密钥。我已经使用此配置来拥有一个每年重置的字段(CertificateNumber)。每当CertificateYear更改时,CertificateNumber将重置并从1开始。 我的问题在于Fluent NHibernate中的映射。到目前为止,我已经在我的ClassMap中完成了这个:

CompositeId()
    .KeyProperty(x => x.CertificateYear, "CertificateYear")
    .KeyProperty(x => x.CertificateNumber, "CertificateNumber");

保存实体时,我将值设置为CertificateYear并保留CertificateNumber,但我不知道如何对NHibernate说自动生成CertificateNumber。它为它赋值0,然后抱怨重复键... 问题是:有没有办法告诉NHibernate,CertificateNumber是复合键的一部分,是自动生成的?

0 个答案:

没有答案