【发布时间】:2011-05-24 19:43:02
【问题描述】:
这是来自 hbm 风格的 nhibernate 的基本示例。
http://ayende.com/blog/2327/multi-table-entities-in-nhibernate
public class Person
{
public int PersonId {get;set;}
public string Name {get;set;}
public string AddressStreetAddress {get;set;}
public string AddressZipCode {get;set;}
}
在数据库中,Person 有一个 Id 主键、一个名称字段和一个地址外键。地址有自己的主键、街道地址字段和邮政编码字段。
正确答案是“不要这样做。”。不幸的是,我被一个实体对象困住了,该对象公开了另一个实体的 Id 和 Name ,而这些实体对象仍在其他地方使用。目前,该对象不会通过 nHibernate 持久化回数据库。
我认为这样做的方法是使用地址作为实体的表,并从 Join() 添加 Person 字段。作为转换的中间步骤,这样做会产生什么后果?
【问题讨论】: