FluentNHibernate-如何将KeyProperty映射到db生成的值?

FluentNHibernate-如何将KeyProperty映射到db生成的值?,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,我有以下映射: public sealed class AcessoMap : ClassMap<Acesso> { public AcessoMap() { CompositeId() .KeyReference(x => x.Associado) .KeyProperty(x => x.DataHora, k => k.ColumnName("aceDtHor").Type(

我有以下映射:

    public sealed class AcessoMap : ClassMap<Acesso>
{
    public AcessoMap()
    {
        CompositeId()
            .KeyReference(x => x.Associado)
            .KeyProperty(x => x.DataHora, k => k.ColumnName("aceDtHor").Type("Timestamp"));

        Map(x => x.IP, "aceEndIP");
        Map(x => x.NumeroAcesso).Not.Nullable().Generated.Insert();
        Map(x => x.DataAcessoAnterior).Not.Nullable().Generated.Insert();
        Map(x => x.ServerVariables).LazyLoad().Generated.Insert();
    }
}
公共密封类AcessoMap:ClassMap
{
公共AcessoMap()
{
复合ID()
.KeyReference(x=>x.Associado)
.KeyProperty(x=>x.DataHora,k=>k.ColumnName(“aceDtHor”).Type(“Timestamp”);
Map(x=>x.IP,“aceEndIP”);
Map(x=>x.numerioacesso).Not.Nullable().Generated.Insert();
Map(x=>x.dataacessoprevious).Not.Nullable().Generated.Insert();
Map(x=>x.ServerVariables).LazyLoad().Generated.Insert();
}
}
如何将其配置为DataHora属性使用数据库生成的值?(当前它在db上有默认值,将其设置为当前时间戳)


谢谢

我不知道这是否行得通,但这是值得尝试的。在CompositeId定义之外,定期映射时间戳列

Map(x=>x.RecordVersion).Column("aceDtHor")
                       .CustomSqlType( "timestamp" )
                       .Not.Nullable()
                       .CustomType( "BinaryBlob" )
                       .Generated.Always();

不要工作。。。我需要发送null,这样我的数据库将用默认值column(即“now()”)填充它。@Zote好吧,我唯一能想到的另一件事是将时间戳标记为版本字段
Version(x=>x.aceDtHor)。UnsavedValue(“null”)…
然后将其用作密钥的一部分。