【发布时间】:2009-07-06 20:15:57
【问题描述】:
我有一个包含子对象的父类。 保存父对象时,我使用 set 来保存子对象。 我不确定 set 是否仅用于保存子对象。 我在下面收到此错误
System.InvalidCastException:无法将类型“x”的对象转换为类型“Iesi.Collections.ISet”
有人知道解决办法吗?
<class name="Customer" table="Customers" lazy="false" dynamic-update="true">
<id name="Id" column="CustomerID" type="Guid" >
<generator class="guid.comb" />
</id>
<property name="Name" column="CustomerName" type="String" length="50" not-null="true" />
<bag name="users" table="Users" cascade="all-delete-orphan">
<key column="CustomerID" />
<one-to-many class="User" />
</bag>
<set name="customerPreferences" table="Preferences" cascade="all-delete-orphan">
<key column="CustomerID" />
<one-to-many class="CustomerPreferences" />
</set>
</class>
实体类: 公共类客户 { 私人Guid _id; 私有字符串_name; 私有 IList _users = new List(); 私人客户偏好 _customerPreferences;
public Guid Id
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public CustomerPreferences CustomerPreferences
{
get { return _customerPreferences; }
set { _customerPreferences = value; }
}
public IList<User> Users
{
get { return _users; }
set { _users = value; }
}
【问题讨论】:
-
能否包含您的映射文件和实体?
-
是的,我已经添加了实体,但我在客户偏好而不是用户中遇到错误
标签: sql nhibernate