FluentNHibernate - 设置DB列的默认值(SQL Server)

Nik*_*vic 6 sql-server fluent-nhibernate column-defaults

有没有人知道如何通过映射列的默认值来设置,例如当我从映射生成DB时,我会将DateTime列的getdate()作为默认值?

我到目前为止尝试过(看起来完全像我需要的那样),但它不起作用

this.Map(x => x.LastPersistedOn, "DateModified") 
    .Access.Property() 
    .Default("getdate()"); 
Run Code Online (Sandbox Code Playgroud)

Dom*_*aut 6

我只是尝试设置一些默认值,它按预期工作.我在24.05.2010使用Fluent作为Git检索,所以更新你的副本可以解决你的问题.
制图

public class SampleEntity
{
    public virtual DateTime DateTimeProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

 public class SampleEntityMap
        : ClassMap<SampleEntity>
{
   public SampleEntityMap()
   {
    Map(x => x.DateTimeProperty, "DateTimeColumn")
             .Access.Property()  //actually not necessary 
             .Not.Nullable()
             .Default("getDate()");
   }
}
Run Code Online (Sandbox Code Playgroud)

这将生成以下sql(从输出到控制台)

create table SampleEntity(
   DateTimeColumn DATETIME default  getDate()  not null
  )
Run Code Online (Sandbox Code Playgroud)

-
Dom