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

时间:2017-05-30 18:51:07

标签: c# sql-server mapping fluent-nhibernate auto-increment

我正在使用Fluent Nhibernate。 Mapping类看起来如下:

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();
    }
}

这是我需要创建的表格,但在SSMS中,我认为CategoryId不是身份。

enter image description here

为什么自动增量(标识)不起作用?

1 个答案:

答案 0 :(得分:4)

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

AccessibilityEvent

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