Первичный ключ NHibernate является отображением 1-1? - PullRequest
0 голосов
/ 06 марта 2011

Может быть, я только что спроектировал это неправильно, и если да, то я более чем рад, чтобы поклониться и разграбить это по-другому ...

В настоящее время у меня есть 2 подобные таблицы, которые имеют общий основнойключ:

person - идентификатор (PK), имя, дата создания, ...

person_details - person_id (PK), возраст, рост, ...

Теперьчеловек создается, и у человека может быть только один набор деталей.Поэтому изначально я думал, что при сопоставлении person_details у меня будет назначен PK, как это будет сгенерировано лицом.

Теперь я просто немного запутался, как я могу создать первый экземпляр этогоданные в базе данных, как, например, при создании модели Person, которая содержит экземпляр модели PersonDetails, ни у одного из них не будет идентификатора на этом этапе, поскольку они не были созданы.Итак, как мне сказать модели PersonDetails, чтобы она брала свой Id из модели Parent Person при создании?

Я просто схожу с ума или мне нужно сделать простое сопоставление в модели Person, чтобы сказать, что это выводPersonDetails Id при вставке из его собственного Id?Я заканчиваю тем, что мне нужен Person_Id для PersonDetails, поскольку они обновляются Ajax внешне для человека, если после первоначального создания будет произведено изменение ...

1 Ответ

1 голос
/ 06 марта 2011

Если в таблицах используется общий PK (который, я полагаю, создан лично), то у вас есть либо один-к-одному , где у человека есть деталь, либо соединение , где у человека есть возраст, рост и т. Д., И они отображаются в другую таблицу.

Просто прочитайте обе главы, у них есть примеры.

...