我有一個自定義列表的類,它繼承自List並且無法獲得NHibernate映射的工作。如何使用NHibernate映射自定義列表
public class MyClass
{
private MyList<Foo> foos;
public virtual MyList<Foo> Foos
{
get { return foos; }
set { foos= value; }
}
}
<bag name="Foos" access="property" cascade="all-delete-orphan" batch-size="5">
<key column="MyClassId"/>
<one-to-many class="Domain.Model.MyClass, Domain"/>
</bag>
我得到的例外
無法轉換類型的對象 'NHibernate.Collection.Generic.PersistentGenericBag
1[Domain.Model.Foo]' to type 'Domain.Model.MyList
1 [Domain.Model.Foo]'。
在此之後blog,我試圖包裹在一個組件包,
<component name="Foos" access="nosetter.camelcase-underscore">
<bag name="Foos" access="property" cascade="all-delete-orphan" batch-size="5">
<key column="MyClassId"/>
<one-to-many class="Domain.Model.MyClass, Domain"/>
</bag>
</component>
導致錯誤
找不到屬性爲getter 'FOOS' 類' Domain.Model.MyList`1 [Domain.Model.Foo]'
MyList只有一個方法來添加目標CTS。
public class MyList<T> : List<T>
{
public new void Add(T item)
{
//custom stuff
base.Add(item);
}
}
,你能否告訴我們'MYLIST'定義是什麼? –