Nhibernate Loquacious Mapping By Code (Не найдено = Игнорировать) - PullRequest
3 голосов
/ 05 января 2012

Я пытаюсь создать карту ManyToOne для устаревшей базы данных, поэтому ей нужно игнорировать любые потерянные записи.

Первоначальный способ описания XML был описан следующим образом:

<many-to-one not-found="ignore" />

Но я не могу описать это с помощью NHibernate 3.2 Mapping by Code.

Код, который я использую для описания карты, приведен ниже:

ManyToOne(x => x.Gang, manyToOne =>
        {
            manyToOne.Column("gang_code");
            manyToOne.Cascade(Cascade.None);
            manyToOne.NotNullable(true);
        });

NotNullable (true) существует, так каквсегда должна быть бандой для новой или обновленной записи, но нужно, чтобы запись была прочитана / выбрана, чтобы пользователи могли ее изменить.

Заранее спасибо за любую помощь, которую вы можете оказать, это сводит меня с ума.

1 Ответ

1 голос
/ 05 января 2012

Пока не поддерживается. Вы можете ввести вопрос на https://nhibernate.jira.com.

А пока продолжайте использовать XML для сопоставления этого класса.

Вы также можете клонировать https://github.com/nhibernate/nhibernate-core и патч (I)ManyToOneMapper


Редактировать: я реализовал это в своем форке. Мне лень создавать тест, Jira и тянуть запрос сейчас, но вы можете использовать его как есть.

Редактировать: теперь это реализовано в стволе; он будет доступен в следующем выпуске.

...