私が継承した従来のデータベースには、次のテーブルが含まれています。
Teams (
TeamId INT PRIMARY KEY,
Name VARCHAR(30)
)
Players (
PlayerId INT PRIMARY KEY,
Team VARCHAR(30)
)
プレーヤー テーブルの外部キーは、teamId ではなくチーム名を参照します。
バッグを使用してチームからプレイヤーにマッピングしようとしました:
<bag name="Players">
<key column="Team" foreign-key="Name" />
<one-to-many class="DataTransfer.Player, DataTransfer" />
</bag>
しかし、SqlException: Conversion failed when conversion the varchar value 'Arsenal' to data type int が発生します
バッグを使用して文字列の外部キーを他の領域にマップできましたが、その場合、外部キーは親テーブルの主キーを参照していました。
編集:NHibernate 2.0.1を使用しています