Npgsql - указанный метод не поддерживается - PullRequest
1 голос
/ 03 сентября 2011

Это может быть как-то связано с другой проблемой, с которой я столкнулся в FNH.

Свободный NHibernate не может загрузить MySql.Data из GAC в режиме отладки теста

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

FluentConfiguration config = Fluently
    .Configure()
    .Database(
        PostgreSQLConfiguration.Standard.ConnectionString(c => c.FromConnectionStringWithKey("PostgreSQLConnectionString")))
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<MyMapping>());

s_SessionSource = new SessionSource(config);

Когда я не запускаю его в Debug (просто запускаю тесты), он работает нормально.

Когда я пытаюсь отладить, я получаю NotSupportedException: Вторая строка бросает это (new SessionSource один)

Указанный метод не поддерживается. в Npgsql.NpgsqlConnection.GetSchema (String collectionName, String [] ограничения) в C: \ projects \ Npgsql2 \ src \ Npgsql \ NpgsqlConnection.cs: строка 970

Почему в отладке выдает исключение, но при запуске без отладки ошибок нет? Я озадачен этим ... Еще раз обратите внимание, когда я просто запускаю код, он работает нормально, он обращается к postgre db no prob.

Обратите внимание, что между Release и Debug нет разницы, в обоих случаях отладка, но в первом случае я запускаю отладку, а во втором я запускаю код без отладки.

РЕДАКТИРОВАТЬ: нашел этот вопрос: http://pgfoundry.org/forum/message.php?msg_id=1003008, кажется, моя точная проблема, но возникает только при отладке.

1 Ответ

2 голосов
/ 13 сентября 2011

Npgsql.NpgsqlConnection.GetSchema генерирует исключение NotSupportedException, когда его аргумент collectionName неизвестен.Возможно, вам следует обновить до последнее исправление , которое поддерживает набор тестов NHibernate.

Исключение должно быть перехвачено Fluent, но подключенный отладчик остановится на нем.

...