所以,我有具有相關聯的列表,像這樣的NHibernate的實體:映射INTS的名單到NHibernate的實體
public class CountSet{
//Some other code here
private readonly IList<int> _instanceCounts;
public virtual IEnumerable<int> InstanceCounts
{
get { return _instanceCounts; }
set
{
_instanceCounts.Clear();
foreach (var instanceCount in value.Distinct())
{
_instanceCounts.Add(instanceCount);
}
}
}
}
和AM映射與功能NHibernate的實體,使用自動映射,但與重寫映射列表,像這樣:
mapping.HasMany(x => x.InstanceCounts)
.Table(@"CountSetsInstanceCounts")
.KeyColumn(@"InstanceCountSetId")
.Element(@"InstanceCount");
這似乎是正確創建XML HBM,它看起來像這樣:
<bag table="CountSetsInstanceCounts" name="InstanceCounts"
access="field.camelcase-underscore" inverse="true"
cascade="all-delete-orphan">
<key>
<column name="InstanceCountSetId"/>
</key>
<element type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, ">
<column name="InstanceCount"/>
</element>
</bag>
這看起來對我來說是正確的。但是,當我嘗試將這些實體持久存儲到數據庫時,該實體被正確保存,但收集不是。
有關可能發生什麼的任何建議?隨時索取更多信息。
明白了一個。謝謝。有沒有任何地方可以記錄這種東西,因爲我檢查了nhibernate文檔,但是找不到任何東西? – RoryB
老實說,我不確定;)Nhibernate是一個了不起的工具,但文檔不是最好的;) –