次の 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()
オンザコールReferences()
はありませんHasManyToMany
。
誰かが私に欠けているものを教えてもらえますか? 属性がレンダリングされた後/NHを構成する前に属性を「注入」するのがハックであっても、それが機能する必要があります。
前もって感謝します。
UPDATE gcores の回答は機能しません。間違ったタグに追加されます。詳細については、彼の回答に関する私のコメントを参照してください。