NHibernate Mapping-by-code One-To-One Relations: fetch by Join? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть таблица (UncommittedVideoFile), которая имеет строгие отношения один-к-одному с другой таблицей (VideoOrImageAsset). Когда я загружаю UncommittedVideoFile, я хочу загрузить VideoOrImageAsset в том же запросе через JOIN. (Внутренний или левый внешний).

Очевидно, можно указать выборку за соединением, когда вы используете сопоставление xml: https://ayende.com/blog/3960/nhibernate-mapping-one-to-one

Это также возможно, если вы используете Fluent NHibernate: { ссылка }

Но, используя MappingByCode, можно ли установить опцию Fetch? Я нигде не вижу.

Вот код, который у меня есть. Интерфейс IOneToOneMapper не имеет метода Fetch.

classMapper.OneToOne(
    f => f.VideoOrImageAsset,
    oneToOneMapper =>
    {
        oneToOneMapper.Constrained(true);
        oneToOneMapper.ForeignKey("Id");
        oneToOneMapper.Lazy(LazyRelation.NoLazy);
    }
);

1 Ответ

1 голос
/ 14 июля 2020

Известно, что отсутствует функция сопоставления по коду GH-2139 . И это уже реализовано в версии 5.3 (еще не выпущено, но довольно close )

На данный момент вы можете использовать предварительную версию 5.3 из https://www.myget.org/gallery/nhibernate (также проверьте заметки, как его использовать здесь )

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