当我尝试创建一个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" />
公司对象上的图像定义如下:
public virtual IList<GwDbImage> Images { get; set; }
我知道这很模糊,但是有人知道什么是错的/指出了我正确的方向吗?
由于
乔恩
答案 0 :(得分:0)
您将Images属性声明为IDictionary,而bag应声明为IList
答案 1 :(得分:0)
为什么要指定property-ref属性? 你的情况有必要吗?您是否在相关表格中加入了PK以外的其他专栏?