我有以下 FNH 映射片段:
HasManyToMany((c) => c.Plaintiffs)
.LazyLoad()
.WithTableName("invoicePlantiff")
.WithChildKeyColumn("PersonReferenceID")
.WithParentKeyColumn("invoiceID")
.FetchType.Join();
产生以下 HBM:
<bag name="Plaintiffs" access="iServe.Design.CslaNHibernate.CslaChildPropertyAccessor, iServe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" lazy="true" table="invoicePlantiff">
<key column="invoiceID" />
<many-to-many column="PersonReferenceID" class="iServe.PersonReference, iServe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" fetch="join" />
</bag>
问题是我正在处理遗留数据,也就是说,让我们说“不太理想”,并且一些记录的 ID 无效,所以我需要将not-found="ignore"
属性放在包内的多对多标签上。我看不出有任何方法可以用 FNH 实现这一点。
有.NotFound.Ignore()
on the References()
call,但没有 on the HasManyToMany
Call。
有人能告诉我我错过了什么吗?即使在渲染后/在配置 NH 之前“注入”属性是一种技巧,我也只需要它工作即可。
提前致谢。
更新gcores 答案将不起作用,它会将其添加到错误的标签中,请参阅我对他的答案的评论以获取更多信息。