假设您有两个类,Person和Address。
Person有这样的地址引用:
public class Person
{
public virtual Address Residence {get;set;}
}
地址具有.Equals的覆盖,它确定两个地址实例是否代表相同的物理地址(通过比较邮政编码和第一行,比如说)。
假设您有两个未保存的Person对象,它们保存对两个未保存的Address对象的引用,这些对象是独立的(就引用相等而言),但在.Equals实现方面是相同的。
NHibernate会发出一个或两个INSERT吗?
由于
大卫
答案 0 :(得分:2)
它会插入两次。通过相等匹配两个瞬态实例在技术上是不可能的。
调用代码将负责匹配这些实例并用相同的引用替换它们。