我是NHibernate世界的新手。NHibernate删除收藏夹中的物品不起作用
为什么此代码从集合删除境内:
Country country;
using (IUnitOfWork unit = UnitOfWork.Start())
{
country = new Country();
country.Name = "My country";
Territory territory = new Territory();
country.Territories.Add(territory);
country.Territories.Remove(territory);
}
而这种代码是不工作:
Country country;
using (IUnitOfWork unit = UnitOfWork.Start())
{
country = _countries.GetById(1);
Territory territory = new Territory();
country.Territories.Add(territory);
country.Territories.Remove(territory);
}
在第二代码片段,_countries是一个仓库。国家/地区ID 1存在于数据库中。境内被添加,但永远不会被删除...
这里的映射:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="iCible.Artishows.Framework.ObjectDefinition"
namespace="iCible.Artishows.Framework.ObjectDefinition" >
<class name="Country" >
<id name="ID">
<generator class="identity"/>
</id>
<property name="Name" />
<set name="Territories" cascade="all-delete-orphan" inverse="true" order-by="Name" sort="iCible.Artishows.Framework.ObjectDefinition.TerritoryComparer">
<key column="COUNTRYID"/>
<one-to-many class="Territory"/>
</set>
<property name="CreationDate" />
<property name="EditionDate" />
<many-to-one class="User" name="CreationUser"/>
<many-to-one class="User" name="EditionUser"/>
</class>
</hibernate-mapping>
缺少什么我在这里?
这是逆=真正的问题。但都给了我很好的路径来解决我的问题。谢谢 – vIceBerg 2009-08-09 01:28:47