Nhibernate FluentHibernate:如何指定决不应将联接映射表插入到
我有以下FluentNHibernate映射:Nhibernate FluentHibernate:如何指定决不应将联接映射表插入到,nhibernate,join,fluent-nhibernate,Nhibernate,Join,Fluent Nhibernate,我有以下FluentNHibernate映射: public AssetMap() { Table("PRASSET"); Id(x => x.Id).Column("PRA_RECNUM").GeneratedBy.Sequence("PRA_RECNUM_GEN"); ...fields mapped from PRASSET table Join("PRSTOCK", m => { m.Fetc
public AssetMap()
{
Table("PRASSET");
Id(x => x.Id).Column("PRA_RECNUM").GeneratedBy.Sequence("PRA_RECNUM_GEN");
...fields mapped from PRASSET table
Join("PRSTOCK", m =>
{
m.Fetch.Join();
m.Optional();
m.KeyColumn("PRS_ASSRN");
...fields mapped from PRSTOCK table
});
}
正如Join
位中的m.Optional()
调用所表明的,可能有也可能没有相应的PRSTOCK
记录
我遇到的问题是,当我保存一个资产
实例时,该实例仅在其PRASSET
映射属性之一方面是脏的,并且没有相应的PRSTOCK
记录,它正在插入一个!这显然不是我想要的,因为在大多数情况下不应该有相应的PRSTOCK
记录
映射配置中是否有我可以尝试的调整?在这个阶段,仅仅防止记录被插入PRSTOCK
,就足够了,但理想情况下,NHibernate不应该尝试更新或插入PRSTOCK
,除非映射到PRSTOCK
的资产
实例的属性之一被弄脏。根据博客文章,如果属性不为null,NHibernate将始终尝试插入联接映射记录。因此,我已经将适当的属性设置为null(默认为null),希望它不再尝试插入