编辑:
嗨,尝试编辑以回答此问题。为了尝试改进这个问题,这里是一个直截了当的浓缩版本:
使用流利的 nhibernate 将值对象映射到单独的表时,下面的代码是要走的路,还是有替代方案?
你好,
出于这个问题的目的,我使用流畅配置的 nhibernate。
我正在稳步学习 DDD,但在对值对象的映射进行了一些澄清之后。似乎有很多关于将值对象映射为组件的信息。但是,我想在某些情况下规范化我的数据库,因此会给值对象一个持久性标识(如果我是正确的,它不会违反 DDD 值对象规则)。
我在 SO 上看到了这个问题,但想了解更多关于如何设置和映射实际值对象的信息。
将值对象映射到表示实体的表时,我很舒服。例如,将地址值对象作为组件映射到客户表中。
我的查询在于映射我想要放置在单独表中的值对象时。使用类映射映射值对象的最佳方法是如下所示?我打算忽略它纯粹是为了休眠持久性的Id。
public class Address
{
protected virtual int id {get;}
public virtual string firstLine {get;}
public virtual string city {get;}
public virtual string postcode {get;}
}
public class AddressMap : ClassMap<Address>
{
public AddressMap()
{
Id(x => x.Id);
Map(x=> x.firstline);
Map(x=> x.city);
Map(x=> x.postcode);
}
}
提前致谢。