0

正如问题所述,是否可以在流利的 nhibernate(或我想的非流利的)中映射复合键,其中复合中使用的两个字段之一是身份字段?

我有一个表,其中主键的一部分是身份字段,另一部分是租户 ID。这是一个遗留数据库,其中复合键被用作外键,因此修改数据库将非常重要。

谢谢!

4

1 回答 1

0

如果它真的是一个标识列,那么它保证每条记录都是唯一的,对吧?

如果是这样,您可以完全忽略租户 ID 以进行映射。您的身份字段在您的主表中将是唯一的 - 您的外键引用将包含此唯一 ID,因此租户 ID 实际上无关紧要。

NHibernate 并不真正关心您是否准确地映射了您的数据库模式。我曾经使用过遗留数据库,之前我在非键列上定义了一个唯一约束,然后告诉 NHibernate 使用它作为主键——它有效,它可以巧妙地避开各种可怕的复合键关系映射。

想想看。违反直觉,但它可能会起作用。

于 2009-10-23T20:22:47.720 回答