NHibernate自定义列表组件映射

时间:2011-03-15 12:08:58

标签: c# nhibernate nhibernate-mapping

我正在使用具有以下内容的代码库:

public class CustomList<T> : List<T>

然后在随后的课程中

public interface ISomeObject {
    string Name { get; set; }
    CustomList<ISomeOtherObject> SomeOtherObjects { get; set; }
}

现在在普通List的Mapping文件中,xml会是(我已经检查过了):

<list name="SomeOtherObjects " table="SomeOtherObject">
    <key column="Id"/>
    <index column="Reference"/>
    <composite-element class="SomeOtherObject" />
</list>

我需要找出CustomList的等效xml。我在谷歌搜索并搜索到这里,直到我脸色苍白,发现有关组件和如何映射自定义集合的点点滴滴,但到目前为止,我还没有找到足够让我超越这个障碍。我正在尝试使用所有不同的属性疯狂地进行攻击和错误,所以如果有人有一个如何映射自定义列表的片段示例,我会非常感激。

干杯。

1 个答案:

答案 0 :(得分:1)

您的映射位于正确的路径上,但不完整。看起来应该是这样的。

<list name="SomeOtherObjects " table="SomeOtherObject">
    <key column="Id"/>
    <index column="Reference"/>
    <composite-element class="SomeOtherObject" >
        <property name="SomeOtherObjectProperty" />
        <!-- More properties that are defined in SomeOtherObject here. -->
    </composite-element>
</list>

这个post可以帮助您了解有关集合映射的更多信息。