NHibernate - 版本为DateTime,在DB中生成

时间:2013-06-15 21:41:13

标签: c# nhibernate

我正在尝试为我的表分配一个版本列,我希望从DB(getDate())生成版本。我的映射看起来像这样:

Version(x => x.Version).Index("idx_Version").Generated.Always();

但是当我试图插入一行时,我收到了这个错误:

Cannot insert the value NULL into column 'Version'... column does not allow nulls.

我还尝试了一种不同的方法,并将列映射为常规列,如下所示:

Map(x => x.Version).Index("idx_Version").Generated.Always();

但它在该列上生成了空值...

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我猜你正在使用MS SQL DB。有一些类似的答案:

总结:在UPDATE上实现触发器,即使在UPDATE期间也更改了列(不仅仅是使用GetDate()INSERT

或者(我建议这个appraoch)使用rowversion,这将完全符合您的要求。