【问题标题】:Connecting to Postgres using Fluent NHibernate throws Exception使用 Fluent NHibernate 连接到 Postgres 会引发异常
【发布时间】:2019-04-19 03:34:48
【问题描述】:

这是我的休眠设置:

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 Version=v4.7.2" 上运行。

【问题讨论】:

    标签: fluent-nhibernate npgsql


    【解决方案1】:

    根据NpgsqlDriver docs

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

    根据错误,您似乎没有installed Npgsql.dll assembly,或者如果您有,则它没有在您的项目中被引用。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2011-02-11
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多