【发布时间】:2011-03-06 13:36:51
【问题描述】:
也许我只是设计不正确,如果是这样,我很乐意以另一种方式退出并掠夺它......
我目前有 2 个这样的表,它们有一个共享主键:
人 - id (PK)、姓名、created_date、...
person_details - person_id (PK)、年龄、身高……
现在这个人被创建了,一个人只能有一组详细信息。所以最初我认为在映射 person_details 时,我会分配 PK,因为它是由人生成的。
现在我对如何在数据库中创建此数据的第一个实例有点困惑,因为当我创建一个包含 PersonDetails 模型实例的 Person 模型时,此时两者都不会有 Id,因为它们还没有被创建。那么如何告诉 PersonDetails 模型在创建时从 Parent Person 模型中获取其 Id 呢?
我是不是快疯了,或者我需要在 Person 模型中做一个简单的映射来告诉它在从自己的 Id 插入时推断 PersonDetails Id?如果在初始创建后进行更改,我最终需要 PersonDetails 上的 Person_Id,因为它们是由 Ajax 从外部更新到人员的...
【问题讨论】:
-
在考虑了更多之后,似乎一对一映射可能不是最好的方法,即使在数据库中它们是一对一映射......也是如此有更好的方法来构建它吗?最终我需要能够通过ajax独立更新细节(以及其他一些一对一的风格关系),所以他们需要有一些关系,所以我可以单独保存它们而不必保存整个人,除非这是唯一的这样做的方法...
标签: nhibernate shared-primary-key