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不是身份。
为什么自动递增(身份)无效?
使用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
| 归档时间: |
|
| 查看次数: |
1416 次 |
| 最近记录: |