NHibernate主键是1-1映射?

时间:2011-03-06 13:36:52

标签: nhibernate shared-primary-key

也许我错误地设计了这个,如果是这样的话,我很乐意以另一种方式退出并掠夺......

我目前有2个这样的表,它们有一个共享的主键:

person - id(PK),name,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在外部更新...

1 个答案:

答案 0 :(得分:1)

如果表共享一个PK(我假设它是亲自发起的),那么你有一个one-to-one,一个人有一个细节,或者一个join,其中一个人有年龄,高度等,它们被映射到不同的表格。

请阅读这两章,他们有例子。