Npgsql - 不支持指定的方法

时间:2011-09-02 20:47:38

标签: debugging nhibernate postgresql fluent-nhibernate npgsql

这可能与我与FNH的另一个问题有关。

Fluent NHibernate cannot load MySql.Data from GAC in debug mode of a test

一般来说,我得到一个简单的测试,首先按照代码运行:

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没有概率。

请注意,Release和Debug之间没有区别,在两种情况下都是Debug,但在第一种情况下我运行debug,但在第二种情况下我运行代码而不进行调试。

编辑:发现了这个问题:http://pgfoundry.org/forum/message.php?msg_id=1003008似乎是我的确切问题,但只发生在调试中。

1 个答案:

答案 0 :(得分:2)

当其collectionName参数未知时,Npgsql.NpgsqlConnection.GetSchema抛出NotSupportedException。您应该升级到支持NHibernate测试套件的latest patch

必须由Fluent捕获异常,但附加的调试器将停止在其上。