Обновлен Npgsql(1.0 -> 2.05) и получена ошибка (ObjectNotFoundException) в NHIbernate
Я обновил драйвер Npgsql до последней версии (2.0.5) и получил ошибку в моем приложении NHibernate... Отображения:
Школьная картография:
...
References(x => x.City);
...
И картография города:
Id(x => x.ID).GeneratedBy.Assigned();
Map(x => x.Name);
References(x => x.Microrregion);
Теперь, когда я попытался загрузить School, я получил NHibernate.ObjectNotFoundException для объекта City... Но с Npgsql 1.0 все работает нормально...
Любая идея?
Спасибо
2 ответа
Это ошибка в драйвере Npgsql:
Спасибо, в любом случае...
Во-первых, вы уверены, что City
существует? Можете ли вы выполнить SQL-запрос к этим двум таблицам? То есть делает SELECT * FROM School LEFT JOIN City ON School.City = City.Id WHERE School.Id = 12345
вернуть то, что вы ожидаете?
Если это так, то убедитесь, что NHibernate генерирует ожидаемый вами запрос. Вы можете установить свойство show SQL в интерфейсе Fluent следующим образом:
PostgreSQLConfiguration
.Standard // Or whatever dialect you are using
.ConnectionString(...).ShowSql()
Как только у вас будет этот набор, NHibernate запишет запросы, которые он выполняет, и он может отображаться в ваших журналах, модульных тестах или чем-то еще, в зависимости от ваших настроек.