FluentNHibernate - 为DB列设置默认值(SQL服务器)
-
21-09-2019 - |
题
没有人知道一种方法,我怎样可以设置为通过例如映射列的默认值,从而当我从映射生成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的方式来做到这一点。
将是很好听别人的意见太
不隶属于 StackOverflow