0

当我尝试创建 SessionFactory 时,我遇到了一个奇怪的 NHibernate 异常。我已将异常'无法将'NHibernate.Mapping.Bag'类型的对象转换为'NHibernate.Mapping.IKeyValue'的异常范围缩小到公司对象上的以下映射:

<bag name="Images" cascade="none">
  <key column="CompanyId" property-ref="Images"/>
  <one-to-many class="GwDbImage"/>
</bag>

这是 GwDbImage 的映射:

<class name="GwDbImage" table="Images" >
<id name="ImageId">
  <column name="ImageId" sql-type="int" not-null="true"/>
  <generator class="native"/>
</id>

<property name="FileName"  />

Company对象上Images的定义如下:

public virtual IList<GwDbImage> Images { get; set; }

我知道这很模糊,但有人知道出了什么问题/指出我正确的方向吗?

谢谢

乔恩

4

2 回答 2

0

您将 Images 属性声明为 IDictionary 而 bag 应声明为 IList

于 2009-02-16T10:57:11.867 回答
0

为什么要指定 property-ref 属性?你的情况有必要吗?您是否在相关表中加入了除您的 PK 之外的另一列?

于 2009-02-16T11:07:42.090 回答