自动增量(身份)在Fluent NHibernate中不起作用

Sev*_*eva 2 c# sql-server mapping auto-increment fluent-nhibernate

我正在使用Fluent Nhibernate。映射类如下所示:

public class CategoryMap : ClassMap<Category>
{

    public CategoryMap()
    {
        Id(x => x.CategoryId).UniqueKey("CategoryId").GeneratedBy.Increment();
        Map(x => x.CategoryName).Not.Nullable();

        References(x => x.ParentCategory).Column("ParentCategoryId").Nullable();
    }
}
Run Code Online (Sandbox Code Playgroud)

它像我需要的那样创建表,但是在SSMS中,我看到的CategoryId不是身份。

在此处输入图片说明

为什么自动递增(身份)无效?

Jam*_*Ide 5

使用Identity而不是Increment,并且不需要指定UniqueKey,因为主键必须是唯一的。

Id(x => x.CategoryId).GeneratedBy.Identity();
Run Code Online (Sandbox Code Playgroud)

我不确定Increment的用例是什么,或者不确定最新的NHibernate文档在哪里使用,但是您可以在5.1.5.1节中阅读有关ID生成器的不同类型的信息:http : //nhibernate.info/doc/nhibernate-reference /mapping.html