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

时间:2012-04-12 20:57:02

标签: 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("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();
    }
}

如何将其配置为DataHora属性使用数据库生成的值? (当前它在db上有默认值,将其设置为当前时间戳)

谢谢

1 个答案:

答案 0 :(得分:0)

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

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