Подключение к Postgres с помощью Fluent NHibernate создает исключение - PullRequest
2 голосов
/ 19 апреля 2019

Вот мои настройки Hibernate:

FluentConfiguration configuration = Fluently.Configure()
            .Database(PostgreSQLConfiguration.Standard.ConnectionString(c => c
                    .Host("localhost")
                    .Port(5432)
                    .Database("PEDAux")
                    .Username("ped_admin")
                    .Password("xxxxx"))
                .ShowSql)
            .Mappings(m => m.FluentMappings
                .AddFromAssembly(Assembly.GetExecutingAssembly())
                .Conventions.Add<TableNameConvention>()
                .Conventions.Add<ColumnNameConvention>()
            )
            .ExposeConfiguration(x =>
            {
                // TODO: Not yet sure what to put in here
            });

        return configuration.BuildSessionFactory();

Я получаю следующую ошибку:

Внутреннее исключение 1: HibernateException: не удалось создать драйвер из NHibernate.Driver.NpgsqlDriver, NHibernate, версия = 5.2.0.0, культура = нейтральная, PublicKeyToken = aa95f207798dfdb4.

Внутреннее исключение 2: TargetInvocationException: Исключение было выдано целью вызова.

Внутреннее исключение 3: ArgumentException: не удалось найти запрошенный поставщик данных .Net Framework. Возможно, он не установлен.

Такой же набор настроек, кажется, работает, когда я использую SQLServer. Конечно, для SQL Server я использую объект конфигурации SQLServer. Проект работает в .NET версии = v4.7.2 ".

1 Ответ

0 голосов
/ 26 апреля 2019

По документам NpgsqlDriver :

Для использования этого драйвера у вас должна быть сборка Npgsql.dll доступен для загрузки в NHibernate.

Судя по ошибке, у вас не установлена ​​ сборка Npgsql.dll , или, если она установлена, в вашем проекте на нее нет ссылок.

...