もう1つ質問があります。私はFluentNHibernateにアップグレードして、私のdicitionaryマッピングで の問題が発生しました。最新のfluentNHibernateバージョンでこの辞書をどのようにマッピングするのですか?
マップしようとしたクラスi'amは、次のプロパティ
たIDictionary LohnParameterを持って
結果のhbm.xmlはこのようになります
HasMany(x => x.LohnParameter)
.ForeignKey("cat_condition_version__id")
.DictionaryKey("wrd_cntry__id")
.OneToMany<boLohnartEigenschaften>()
.Not.Lazy()
.Inverse()
.Cascade.AllDeleteOrphan();
次のようにマッピングは次のとおりです。
<map cascade="all-delete-orphan" inverse="true" lazy="false" name="LohnParameter" table="boLohnartVersionLohnParameter" mutable="true">
<key>
<column name="cat_condition_version__id" />
</key>
<index-many-to-many class="proSoft.Office.Model.Business.Welt.boLand, proSoft.Office.Model.Business, Version=0.1.19.20243, Culture=neutral, PublicKeyToken=b0e4f89242e69335">
<column name="wrd_cntry__id" />
</index-many-to-many>
<one-to-many class="proSoft.Office.Model.Business.Konditionen.boLohnartEigenschaften, proSoft.Office.Model.Business, Version=0.1.19.20243, Culture=neutral, PublicKeyToken=b0e4f89242e69335" />
</map>
新しいバージョンでは、コンパイラは、彼はプロパティ "ForeignKey"がありません。私は今すべてを試みたが、私は に正しく働かせることができない。
HasMany(x => x.LohnParameter)
.AsMap<boCountry>(
index => index.Column("wrd_cntry__id").Type<boCountry>(),
element => element.Type<boLohnartEigenschaften>()
)
.KeyColumn("cat_condition_version__id")
.Not.LazyLoad()
.Inverse()
.Cascade.AllDeleteOrphan();
しかし、私は常に取得するエラーは、次のとおりです:私の最後の試みでした proSoft.Office.Model.Business.Welt.boCountry、 proSoft.Office:
{」の種類を判断できませんでした。 Model.Business、バージョン= 0.1.14.556、文化=中立、 なPublicKeyToken = b0e4f89242e69335、列のために: NHibernate.Mapping.Column(wrd_cntry__id) "}
私は何をすればいいの手掛かりを持っていません。私はあなたがこの
HasMany(x => x.LohnParameter)
.AsEntityMap("wrd_cntry__id")
ありがとう、これは私が必要なヒントでした! – MoJo2600