我创建了一个Fluent约定来映射一个特定的属性,该特性传达了datetime属性不为null并且数据库会在今天插入其值的日期,这是它的代码:
instance.Not.Nullable();
instance.Default("getdate()");
instance.Generated.Insert();
插入按预期工作。不期望的是,当我更新记录并将属性(“Modified”)设置为今天的日期时,该值不会持久化 - 我可以从NH生成的sql语句中看到它不在语句中。我试着添加无济于事。
instance.Update();
我认为这应该有用吗?
答案 0 :(得分:4)
不,这不需要工作。如果将属性映射为生成的属性,则它仅由数据库生成,并且不能由应用程序更改。您指定它仅在插入时生成,而不是在更新时生成,因为NH需要在插入后获取生成的值,并且在更新后不需要。
要设置默认值,我会使用构造函数和面向对象编程的其他技术。