Свободное отношение NHibernate один к одному - PullRequest
0 голосов
/ 29 марта 2012

У меня есть адрес таблицы и много таблиц для учетных записей.Как записать взаимно-однозначное отношение для данной ситуации?

+----------+
| Address  |
+----------+
| Id       | PK
+----------+

+----------+
| AccountA |
+---------+
| Id       | PK
| AddressId| FK
+----------+

+----------+
| AccountB |
+---------+
| Id       | PK
| AddressId| FK
+----------+

1 Ответ

1 голос
/ 29 марта 2012

Это для автоматического картирования.

.Override<Address>(mapping => mapping.HasOne(address => caddress.AddressA).Cascade.All().LazyLoad())
.Override<Address>(mapping => mapping.HasOne(address => caddress.AddressB).Cascade.All().LazyLoad())
.Override<AddressA>(mapping => mapping.Id(x => x.Id).GeneratedBy.Foreign("Address"))
.Override<AddressB>(mapping => mapping.Id(x => x.Id).GeneratedBy.Foreign("Address"))
.Override<AddressA>(
     mapping => mapping.HasOne(
    Reveal.Member<AddressA, Address>("Address")).Constrained().ForeignKey().LazyLoad())
.Override<AddressB>(
     mapping => mapping.HasOne(
    Reveal.Member<AddressB, Address>("Address")).Constrained().ForeignKey().LazyLoad())

Все эти таблицы имеют одинаковый ключ: Id

+----------+
| Address  |
+----------+
| Id       | PK
+----------+

+----------+
| AccountA |
+---------+
| Id       | PK
+----------+

+----------+
| AccountB |
+---------+
| Id       | PK
+----------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...