Как сопоставить необязательные отношения один-к-одному с Fluent NHibernate? - PullRequest
0 голосов
/ 22 декабря 2009

У меня есть две сущности, одна называется Сайт, а другая - Назначение. Сайт может иметь или не иметь связанного Назначения. Назначение всегда связано только с одним сайтом. С точки зрения C #, у Site есть свойство типа Assignment, которое может содержать нулевую ссылку.

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

CREATE TABLE Site(
    SiteId INT NOT NULL CONSTRAINT PK_Site PRIMARY KEY)

CREATE TABLE Assignment(
    AssignmentId INT NOT NULL CONSTRAINT PK_Assignment PRIMARY KEY,
    CONSTRAINT FK_Assignment_Site FOREIGN KEY (AssignmentId) REFERENCES Site (SiteId))

Я использую модель автоматического сохранения данных Fluent NHibernate, к которой, я думаю, мне придется добавить переопределение, чтобы заставить его работать У меня вопрос, как мне отобразить эти отношения? Правильна ли моя схема для этого сценария? Я могу изменить схему, если это необходимо.

1 Ответ

2 голосов
/ 22 декабря 2009

Вы должны прочитать это:

Невозможно загружать ленивых один на один, если они не обнуляются, или если вы отображаете их как множество к одному с одним элементом

...