【发布时间】:2009-07-17 19:25:43
【问题描述】:
如何配置 NHibernate 以创建具有如下列的 db 架构:
create_dt datetime not null default getdate()
我在映射文件中有这个:
<property name="create_dt" update="false" insert="false" generated="insert" not-null="true" />
无论如何我可以注入特定于 sql server 的default getdate()。 generated properties 的文档甚至提到这是您处理 create_date 字段的方式。我只是不确定如何使我的数据库模式正确生成。我需要手动编辑创建表脚本吗?
类似question。
编辑:我发现我总是可以像这样更改表架构:
<database-object>
<create>ALTER TABLE Report ADD CONSTRAINT DF_report_create_dt DEFAULT getdate() FOR create_dt;</create>
<drop></drop>
</database-object>
我可以以相同的方式为 update_dt 类型的字段添加触发器。这似乎比提供使用 getdate() 的显式插入和更新语句更好。
【问题讨论】:
标签: sql-server-2005 nhibernate nhibernate-mapping