【发布时间】:2014-06-05 06:53:58
【问题描述】:
我有以下实体
Country、State、City
我也有User 实体。
Country、State 和 City 与用户实体没有关系。
User 与 Country、State 或 City 没有直接关系。
我希望能够以某种方式更新用户地址详细信息
用户将选择国家、州和城市并保存这些值。
我正在考虑引入Address 值对象,它将存储此用户地址信息。
这是个好主意吗?您将如何处理这种情况?
我正在使用 nhibernate orm 并使用 Conformist 进行映射(通过代码方法进行映射) 所以我正在考虑将地址映射为值对象
Component(c => c.Address, AddressMap.Mapping());
public class AddressMap
{
public static Action<IComponentMapper<Address>> Mapping()
{
return c =>
{
c.Property(p => p.Country);
c.Property(p => p.State);
c.Property(p => p.City);
};
}
}
在UserMap中有这个
Component(c => c.Address, AddressMap.Mapping());
我收到以下错误
“NHibernate.SessionProvider”的类型初始化器抛出了一个 例外。 {“无法确定类型:Model.Country, ..., for 列:NHibernate.Mapping.Column(Country)"}
在UserMap 中没有这行Component(c => c.Address, AddressMap.Mapping()); 我没有任何错误(我也没有映射地址值对象:)。
【问题讨论】:
标签: c# .net hibernate nhibernate nhibernate-mapping