【发布时间】:2011-09-26 13:13:11
【问题描述】:
我正在学习 NHibernate,以便将它分层到一个相当奇特的遗留数据库上。其他应用程序使用相同的实时数据库,因此我无法进行会影响它们的更改。
我遇到了一个问题,因为一个代表硬件设备的表有两列用作事实上的主键。一个是真正的主键,一个自动生成的行 ID。另一个是唯一且非空的硬件序列号。
数据库中的许多其他表与该表具有外键关系。但是,其中一些使用真正的主键 - 整数行 id - 作为外键,而另一些则使用设备的硬件 id。
请注意,在实践中,硬件 ID 和行 ID 一旦配对,将保持配对。
我是否能够在 NHibernate 中创建映射来处理这个问题,或者我需要创建一些视图来给我一个更标准化的架构,并使用 INSTEAD OF 触发器使它们可更新?
使用的数据库是 MSSQL 2000,以防万一。
【问题讨论】:
标签: database nhibernate mapping primary-key legacy-database