关于 sql server 2005:NHibernate 默认 getdate() 列

NHibernate + default getdate() column

如何配置 NHibernate 以创建具有如下列的 db 架构:

1
create_dt datetime not null default getdate()

我在映射文件中有这个:

1
<property name="create_dt" update="false" insert="false" generated="insert" not-null="true" />

无论如何我可以注入特定于 sql server 的 default getdate()。生成属性的文档甚至提到这是您处理 create_date 字段的方式。我只是不确定如何使我的数据库模式正确生成。我必须手动编辑创建表脚本吗?

类似的问题。

编辑:我发现我总是可以像这样更改表架构:

1
2
3
4
<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() 的显式插入和更新语句更好。


n


这是关于 Hibernate 的一个线程的答案...它应该移植到 nHibernate 而不更改它...

https://forum.hibernate.org/viewtopic.php?f=25