0

お願い助けて。

私は3つのエンティティを持っています。

  1. 家族 (GENERIC_ID,...)
  2. BPayReference(BPayReferenceID,GENERIC_ID) どこで BPayReferenceID GeneratedBy.Assigned()
  3. Invoice (ID, ..., BPayReferenceID) ここで、BPayReferenceID は BPayReference.BPayReferenceID への外部キーです。

このシナリオで多対多をマッピングするにはどうすればよいですか?

ファミリーマップでやってみる

HasManyToMany(x => x.Invoices)
    .Table("bpay_reference")
    .ChildKeyColumn("GENERIC_ID")
    .ParentKeyColumn("BPayReferenceID");

しかし、エンティティBPayReferenceIDの主キーではないため、これは機能しませんInvoice

4

2 に答える 2

1
HasManyToMany(x => x.Invoices)
    .Table("bpay_reference")
    .ParentKeyColumn("GENERIC_ID")
    .ChildKeyColumn("BPayReferenceID")
    .ChildPropertyRef("BPayReferenceID"); // must be mapped though

注:おそらくKeyColumnsを切り替えました

于 2012-05-03T06:46:20.070 に答える
0

私のように、unFluent NHibernate で同じことをするのに苦労した人の利益のために、次のようなことを試してください。

<bag name="Invoices" table="BPayReference" cascade="none" lazy="false">
  <key column="GENERIC_ID" />
  <many-to-many class="Invoice" column="BPayReferenceID" property-ref="BPayReferenceID" />
</bag>

私が見逃した重要なことは、property-ref でした。

于 2012-05-18T09:14:50.697 に答える