Ленивая загрузка для NHibernate с Ignore.NotFound - PullRequest
6 голосов
/ 14 апреля 2011

У меня есть сопоставление, как показано ниже для объекта-кандидата:

References(x => x.Country).Column("CountryId").NotFound().Ignore()

проблема здесь в том, что если я выберу * Кандидаты, я получу дополнительный выбор для каждого из них, не очень хорошая вещь, поэтомуЯ вытаскиваю бит NotFound (). Ignore (), но теперь следующий код завершается ошибкой с исключением ObjectNotFoundException:

if (entity.Country != null)
{
       bos.CountryName = entity.Country.Name;
}

Есть ли способ заставить Hhibernate делать выбор при сравнении County! = Null?

Спасибо,

1 Ответ

5 голосов
/ 14 апреля 2011

Когда вы указываете .NotFound (). Ignore (), это заставляет сущность быть загруженной с нетерпением и не может быть переопределена с помощью .LazyLoad ().NHibernate делает это, потому что он должен быть уверен, что отношения существуют или не существуют, так как вы не полагаетесь на базу данных для обеспечения этого.

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

Вот статья об этом: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2753

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