Первичный ключ NHibernate является отображением 1-1?
Может быть, я только что разработал это неправильно, и если так, то я более чем счастлив, чтобы поклониться и грабить это по-другому...
В настоящее время у меня есть две таблицы, подобные этой, которые имеют общий первичный ключ:
person - id (PK), имя, дата создания,...
person_details - person_id (PK), возраст, рост,...
Теперь человек создается, и у человека может быть только один набор деталей. Поэтому изначально я думал, что при сопоставлении person_details у меня будет назначен PK, так как он будет сгенерирован человеком.
Теперь я немного сбит с толку относительно того, как я могу создать первый экземпляр этих данных в базе данных. Например, когда я создаю модель Person, которая содержит экземпляр модели PersonDetails, ни у одного из них не будет идентификатора в этой точке, поскольку не было создано. Итак, как мне сказать модели PersonDetails взять ее идентификатор из модели Parent Person при создании?
Я просто схожу с ума, или мне нужно сделать простое сопоставление в модели Person, чтобы сказать ему вывод идентификатора PersonDetails при вставке из его собственного идентификатора? Я заканчиваю тем, что мне нужен Person_Id для PersonDetails, поскольку они обновляются Ajax внешне для человека, если изменение будет сделано после первоначального создания...
1 ответ
Если в таблицах используется общий PK (который, как я полагаю, создан лично), то у вас есть либо один-к-одному, где у персонажа есть Подробности, либо соединение, где у Лица есть возраст, рост и т. Д., И они сопоставлены в другой таблице.
Просто прочитайте обе главы, у них есть примеры.