【问题标题】:C# / Postgres / FluentNHibernate : configuring npgsql throws NotSupportedExceptionC#/Postgres/FluentNHibernate:配置 npgsql 抛出 NotSupportedException
【发布时间】:2011-04-03 20:22:49
【问题描述】:

有时我真的开始想知道我的源代码中发生了什么: 我正在尝试使用 npgsql 2.0.11.0 连接到 PostGres 9.0,我很确定我已经这样做了,但是现在,我的程序在进入以下步骤时抛出了 NotSupportedException: p>

ISessionFactory sf = Fluently.Configure()
                        .Database(PostgreSQLConfiguration.PostgreSQL82
                        .ConnectionString(c => c
                        .Host("localhost")
                        .Port(5432)
                        .Database("cw")
                        .Username("cw")
                        .Password("mypass")))
                        .Mappings(x => x.FluentMappings.AddFromAssemblyOf<MyMapping>())
                        .BuildSessionFactory();

Stacktrace 看起来非常简洁:只有一行。

at NHibernate.Dialect.Dialect.GetDataBaseSchema(DbConnection connection) in d:\CSharp\NH\nhibernate\src\NHibernate\Dialect\Dialect.cs:Line 718.

我尝试将其转录为以下内容:

ISessionFactory sf = Fluently.Configure()
                        .Database(PostgreSQLConfiguration.PostgreSQL82
                        .ConnectionString(c => c.Is("Server=localhost;Port=5432;Database=cw;User Id=cw;Password=myPass;")))
                        .Mappings(x => x.FluentMappings.AddFromAssemblyOf<CardTemplateMapping>())
                        .BuildSessionFactory();

不过,结果是一样的。任何人都遇到过类似的问题,或者 - 甚至更好 - 修复?

【问题讨论】:

    标签: c# postgresql fluent-nhibernate npgsql


    【解决方案1】:

    我想我最终会保持自我回答问题最多的记录。

    它需要将 hbm2ddl.keywords 属性设置为 none。现在它就像一个魅力。 干杯!

     .Database(PostgreSQLConfiguration.PostgreSQL82
                            .Raw("hbm2ddl.keywords","none"));
    

    【讨论】:

      【解决方案2】:

      看到您已经找到了解决方案。所以只是为了一些背景:

      “none”将禁用任何有关 RDBMS 关键字的操作。

      关键字适用于 MsSQL、Oracle、Firebird、MsSqlCe、MySQL、SQLite、SybaseAnywhere。

      由于 Postgress 不在列表中,因此必须将其设置为 None。

      这里有一些信息:Quoting column names with NHibernate and PostgreSQL

      【讨论】:

        猜你喜欢
        • 2011-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多