1
我也有其自身內一個一對多的關係一類,試圖挽救孩子的集合時,僅第一個孩子是被保存,這裏是我的映射:NHibernate的:試圖保存同一對象類型的兒童收集失敗
<class name="AMU" table="AMU">
<id name="ID" column="ID">
<generator class="identity"/>
</id>
<many-to-one name="_Manager" class="AMU" column="ParentID" access="field"/>
<many-to-one name="User" column="UserID"/>
<many-to-one name="MCT" column="MctID"/>
<set name="ManagedAMUs" fetch="select" cascade="all-delete-orphan" inverse="false">
<key column="ParentID"/>
<one-to-many class="AMU"/>
</set>
</class>
這裏的類定義:
public class AMU : TABS.Components.BaseEntity
{
public AMU()
{
this.User = null;
this.Manager = null;
this.ManagedAMUs = new List<AMU>();
}
public virtual int ID { get; set; }
public virtual User User { get; set; }
private AMU _Manager;
public virtual AMU Manager
{
get { return _Manager; }
set { _Manager = value; }
}
public virtual ICollection<AMU> ManagedAMUs { get; set; }
public virtual MCT MCT { get; set; }
}
當我使用一個for循環數AMUs添加到父AMU
foreach(var amu in AMUList) { myAMU.ManagedAMUs.Add(amu); }
,然後保存父AMU,它不僅節省了一個孩子