我想知道是否有人可以提供帮助。我有一个父母/孩子关系,父母与孩子是一对一的关系,但孩子可以有很多父母。
父映射:
public sealed class DatumMap : ClassMap<Datum>
{
public DatumMap()
{
Id(x => x.Id);
Map(x => x.DataValue);
References(x => x.MergeField).Cascade.All();
}
}
子映射:
public sealed class MergeFieldMap : ClassMap<MergeField>
{
public MergeFieldMap()
{
ReadOnly();
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.MergeTag);
HasMany(x => x.Data);
}
}
如果我创建两个具有新相同孩子的新分离父母,然后一个接一个地保存它们,我将保留孩子的两个“副本”,而不是重用现有的孩子实体。
如果子类存在,我可以通过查找它并将其附加到第二个父类来强制重用它。
我想知道是否有更优雅的方法来实现这一点,这样如果我尝试坚持本质上相同的子实体,它会使用现有实体,否则会创建一个新子实体。
任何帮助将非常感激。