没有人知道一种方法,我怎样可以设置为通过例如映射列的默认值,从而当我从映射生成DB我会日期时间为GETDATE列()为默认值?

我试过至今(看起来像exactlly什么,我需要),但它不能做的工作。

this.Map(x => x.LastPersistedOn, "DateModified") 
    .Access.Property() 
    .Default("getdate()"); 
有帮助吗?

解决方案

我只是想设置一些默认值和它的工作如预期。我使用流利从混帐的24.05.2010检索这样更新副本可能会解决你的问题。结果 映射

public class SampleEntity
{
    public virtual DateTime DateTimeProperty { get; set; }
}

使用

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

这将产生以下SQL(从输出到控制台)

create table SampleEntity(
   DateTimeColumn DATETIME default  getDate()  not null
  )

- 点击 DOM

其他提示

要做到这一点的方法是,在分配代码的当前日期时间,而不是使用数据库中的默认值。然后把它作为一个正常的列。从模型驱动设计背景第一次来,但在POCO级别管理的默认值似乎有些奇怪,我是DDD的方式来做到这一点。

将是很好听别人的意见太

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top