自动增量(身份)在 Fluent NHibernate 中不起作用
Auto Increment (Identity) does not work in Fluent NHibernate
我正在使用 Fluent Nhibernate。
映射 class 如下所示:
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();
}
}
它按照我的需要创建 table,但在 SSMS 中,我发现 CategoryId 不是身份。
为什么自动递增(标识)不起作用?
使用Identity而不是Increment,并且您不需要指定UniqueKey,因为主键必须是唯一的。
Id(x => x.CategoryId).GeneratedBy.Identity();
我不确定 Increment 的用例是什么,也不确定最新的 NHibernate 文档在哪里,但您可以在此处阅读第 5.1.5.1 节中的不同类型的 ID 生成器:http://nhibernate.info/doc/nhibernate-reference/mapping.html
我正在使用 Fluent Nhibernate。 映射 class 如下所示:
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();
}
}
它按照我的需要创建 table,但在 SSMS 中,我发现 CategoryId 不是身份。
为什么自动递增(标识)不起作用?
使用Identity而不是Increment,并且您不需要指定UniqueKey,因为主键必须是唯一的。
Id(x => x.CategoryId).GeneratedBy.Identity();
我不确定 Increment 的用例是什么,也不确定最新的 NHibernate 文档在哪里,但您可以在此处阅读第 5.1.5.1 节中的不同类型的 ID 生成器:http://nhibernate.info/doc/nhibernate-reference/mapping.html