Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NHibernate主键是1-1映射吗?_Nhibernate_Shared Primary Key - Fatal编程技术网

NHibernate主键是1-1映射吗?

NHibernate主键是1-1映射吗?,nhibernate,shared-primary-key,Nhibernate,Shared Primary Key,也许我只是设计得不正确,如果是这样,我很乐意退出并以另一种方式掠夺它 我目前有两个这样的表,它们有一个共享主键: 人员-id(主键),姓名,创建日期 人员详细信息-人员id(PK)、年龄、身高 现在这个人被创建了,一个人只能有一组详细信息。因此,最初我认为,当映射person_详细信息时,我会将PK指定为,因为它将由person生成 现在我只是有点困惑,我如何在数据库中创建这个数据的第一个实例,就像我创建一个Person模型时,其中包含一个PersonDetails模型的实例,此时两者都没有Id

也许我只是设计得不正确,如果是这样,我很乐意退出并以另一种方式掠夺它

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

人员-id(主键),姓名,创建日期

人员详细信息-人员id(PK)、年龄、身高

现在这个人被创建了,一个人只能有一组详细信息。因此,最初我认为,当映射person_详细信息时,我会将PK指定为,因为它将由person生成

现在我只是有点困惑,我如何在数据库中创建这个数据的第一个实例,就像我创建一个Person模型时,其中包含一个PersonDetails模型的实例,此时两者都没有Id,因为它们还没有创建。那么,我如何告诉PersonDetails模型在创建时从父Person模型获取其Id呢

我是疯了还是需要在Person模型中做一个简单的映射,告诉它从自己的Id插入时推断PersonDetails Id?我最终需要PersonDetails上的Person\u Id,因为如果在初始创建后进行更改,它们将由Ajax从外部更新到Person…

如果表共享一个PK(我假设是源于Person),那么您可以选择a,其中一个人有详细信息,或者a,其中一个人有年龄、身高,等,并将它们映射到不同的表中


只要阅读这两章,它们都有例子。

嗨,已经读过了,但我的问题是,一个人模型包含大量信息,如果我有一个人有一个PersonDetails模型(和其他模型),那么这个模型有一个对父代人的引用,我会在回发中传递大量数据,因为我目前使用的是MVC。这就是为什么我想在模型中有一个人与另一个人相对。我知道它们是延迟加载的,所以这不像im实际上会有大量的数据浮动,但我很确定mvc回发会有大量的空数据。。。必须检查问题是试图修改您的域模型以进行HTTP发布。而是创建一个表示模型。我本来打算这样做,并编写一个映射器来往返,但我认为如果我能让NHibernate按照我的意愿行事,那就没有意义了……再仔细考虑一下,一对一映射可能不是最好的方式,即使在数据库中它们是一对一的映射。。。那么,有没有更好的方法来构建这个?最终,我需要能够通过ajax独立地更新细节(以及一些其他一对一样式的关系),因此它们需要有一些关系,这样我就可以单独保存它们,而不必保存整个人,除非这是唯一的方法。。。