NHibernate一对多映射在序列化时抛出NullReferenceException

本文关键字:NullReferenceException 序列化 一对多 映射 NHibernate | 更新日期: 2023-09-27 17:50:17

当我从WCF测试客户端调用WCF操作时,客户端抛出异常The underlying connection was closed: The connection was closed unexpectedly.

在WCF跟踪日志中,我看到当WCF服务响应客户端时抛出NullReferenceException。

NHibernate.Collection.Generic.PersistentGenericBag 1.get_Count() WriteArrayOfCDekkingErToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )

CDekking类CVerzekerde的一对多映射:

<bag name="Dekkingen" table="CDEKKZORGDETAIL" cascade="all-delete-orphan" inverse="true" lazy="false">
            <key>
                <column name="DPOLSSEQ"/>
                <column name="MUTSEQ"/>
                <column name="DPRODSEQ"/>
                <column name="DVOBJSEQ"/>
            </key>          
            <one-to-many class="CDekking"/>
        </bag>

CDekking类的关键多对一映射:

<key-many-to-one name="Verzekerde" class="CVerzekerde" lazy="false">
                <column name="DPOLSSEQ"/>
                <column name="MUTSEQ"/>
                <column name="DPRODSEQ"/>
                <column name="DVOBJSEQ"/>
            </key-many-to-one>

我不知道为什么抛出空引用异常。Verzekerde的Dekkingen名单不是空的。

NHibernate一对多映射在序列化时抛出NullReferenceException

根据键列检查Equals/GetHashCode实现