使用Fluent NHibernate连接到Postgres会引发异常

时间:2019-04-19 03:34:48

标签: fluent-nhibernate npgsql

这是我的休眠设置:

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,Version = 5.2.0.0,Culture = neutral,PublicKeyToken = aa95f207798dfdb4创建驱动程序。

内部异常2: TargetInvocationException:调用的目标引发了异常。

内部异常3: ArgumentException:无法找到请求的.Net Framework数据提供程序。可能未安装。

当我使用SQLServer时,相同的配置集似乎可以正常工作。当然对于SQL Server,我正在使用SQLServer配置对象。 项目正在.NET版本= v4.7.2”上运行。

1 个答案:

答案 0 :(得分:0)

根据NpgsqlDriver docs

  

要使用此驱动程序,您必须具有Npgsql.dll程序集   可供NHibernate加载它。

基于该错误,您似乎没有installed Npgsql.dll assembly,或者如果有,则没有在项目中引用它。