我们正在使用 NHibernate 2。
我创建了一个新表,如下所示:
Table: CategoryDependency
CategoryDependencyId CategoryId ParentCategoryId
-------------------- ---------- ----------------
0 0 NULL - root
0 1 0
0 44 1
... 等等
注意 CategoryDependencyId 的零。我是 NH 的新手,所以我在 SQL Server 2008 表定义中将其设置为 PK 不为空,默认值为 0,否则如果我不默认,我将无法将数据插入此表因为它会抱怨你不能为 CategoryDependencyId 插入 null,很明显。
那么这是对的吗?然后 NHibernate 仍然会覆盖 CategoryDependencyId 并为您增加它:
我假设您会使用它来将其设置为递增:
当我运行我的代码时,我没有得到任何记录:
<?xml version="1.0"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace=".....our namespace is here" assembly="OurAssemblyNameIsHere">
<class name="CategoryDependency" table="CategoryDependency">
<id name="ID" type="int">
<column name="CategoryDependencyId" />
<generator class="increment" />
</id>
<property name="CategoryDependencyId" />
<property name="CategoryId" />
<property name="ParentCategoryId" />
</class>