我继承的遗留数据库包含以下表格:
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:将 varchar 值“Arsenal”转换为数据类型 int 时转换失败
我已经能够使用包来映射其他区域的字符串外键,但在这些情况下,外键指的是父表的主键。
编辑:我正在使用 NHibernate 2.0.1