我们可以阻止ID列自动递增吗?

Ash*_*ish 2 fluent-nhibernate

我有一个主列作为ID的表.但该列不是标识列.所有值都是明确提供的.

下面是我的映射类

 public ObjectTypeMap()
    {
        Table("OBJECTTYPE");
        Id(x => x.ObjectTypeId);
        Map(x => x.Title).Not.Nullable();
        Map(x => x.Description);
    }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用session.save保存此对象时,我收到错误消息

"无法将值NULL插入列'ObjectTypeId',表'DiscoveryWEBTest.dbo.ObjectType';列不允许空值.INSERT失败.\ r \n语句已终止."

但在我的对象中,我提供了ObjectTypeId的值.

问题是Fluent NHibernate将ID映射视为自动增量列,但在数据库中ObjectTypeId不是一个标识列,这就是为什么insert语句没有获取任何值并抛出null错误.

有没有一种方法可以告诉该列是一个ID列,但它的值不是自动递增的?

提前致谢

Dav*_*d M 7

像这样映射:

Id(x => x.ObjectTypeId).GeneratedBy.Assigned();
Run Code Online (Sandbox Code Playgroud)