2

わかりました、NHibernate の質問はこちらです。互いにマッピングしたい 2 つのオブジェクトがあります。「Vendor」と「Township」があります...この 2 つは、ID ではなく、郵便番号でリンクする必要があります。IDを使用してオブジェクトでこれを何度も行いましたが、このようなことは一度もありません。

私が抱えている問題は、文字列として保存されている ZipCode が何らかの形で整数に変換されていることです (先頭のゼロが削除されています)。それか、オブジェクトの 1 つの ID を使用しています。

これが私のエラーです:

'/HQWebsite' アプリケーションでサーバー エラーが発生しました。指定された識別子を持つ行が存在しません[HQData.Objects.Township#7922]

また、私が調べたデータベースのデータでもなく、データは正確です。

Vendor xml ファイルのマッピング方法は次のとおりです。

<many-to-one name="_Township" column="ZipCode" foreign-key="ZipCode" class="HQData.Objects.Township, HQData" />

タウンシップ ワンのプロパティは次のとおりです。

   <set name="_Vendors" cascade="all">
      <key  column="ZipCode" foreign-key="ZipCode"/>
      <one-to-many 
         class="HQData.Objects.Vendor, HQData"/>
    </set>

誰もNHibernateに精通しており、以前にこれを行ったことがありますか? ありがとう!

4

1 に答える 1

2

これは修正されました!多対1の関係には、Vendor.xmlファイルのproperty-refプロパティが必要でした。

ありがとう!

于 2008-10-07T08:18:13.843 に答える