Свободный индекс NHibernate-многие-ко-многим - PullRequest
0 голосов
/ 17 декабря 2011

Есть ли в настоящее время способ использовать эквивалент тега index-many-to-many NHibernate в Fluent NHibernate?

Отображение, которое я пытаюсь достичь, было сгенерировано почти идеально с использованием AsMap на HasManyToMany, за исключением одного элемента, указывающего индекс на карте:

Сгенерировано было: <index type=...

Должно было быть: <index-many-to-many class=...

EDIT: В настоящее время я использую обходной путь, чтобы сгенерировать частично неверное отображение, вручную отредактировать файл отображения, закомментировать код отображения, а затем вручную добавить исправленный файл отображения вместо Fluent NHibernate, создав его из закомментированного кода отображения. Не идеально, поскольку в любое время меняется отображение, мне нужно снова пройти этот процесс, но как только мои отображения не изменятся, это не будет большой проблемой.

1 Ответ

0 голосов
/ 18 декабря 2011

Я решил это, используя AsTernaryAssociation в дополнение к AsMap.

В итоге, для сопоставления IDictionary<KeyEntity,ValueEntity> у меня есть отображение:

HasManyToMany(x => x.TheDictionary)
    .AsMap("KeyColumn")
    .AsTernaryAssociation("KeyColumn", "ValueColumn");

Обратите внимание, что в том числепараметры типа приводят к тому, что это по какой-то причине не работает (т. е. ниже будет выброшено FluentNHibernate.Cfg.FluentConfigurationException)

HasManyToMany<ValueEntity>(x => x.TheDictionary)
    .AsMap<KeyEntity>("KeyColumn")
    .AsTernaryAssociation("KeyColumn", "ValueColumn");

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

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