C# NHibernate-版本为DateTime,以DB为单位生成

C# NHibernate-版本为DateTime,以DB为单位生成,c#,nhibernate,C#,Nhibernate,我正在尝试为我的表分配一个version列,我希望从DB(getDate())生成该版本。我的映射如下所示: Version(x => x.Version).Index("idx_Version").Generated.Always(); 但是,当我尝试插入一行时,会出现以下错误: Cannot insert the value NULL into column 'Version'... column does not allow nulls. 我还尝试了另一种方法,将列映射为常规列,

我正在尝试为我的表分配一个version列,我希望从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();
但它在该列上生成空值


有什么想法吗?

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

摘要:在更新时实现触发器,即使在更新期间也会更改列(不仅仅是使用GetDate()插入)


或者(我建议使用这种方法)使用一种能完全满足您需求的方法

我相信这告诉NHibernate,DB将负责填写此栏。DB是如何处理的?您是否在DB中的列上设置了默认值?我设置了默认值getDate(),但它仅在插入时生成,而不是在更新时生成。如何设置生成字段的值?