Fluent nhibernate Fluent NHibernate是否提供iSeries数据提供程序?

Fluent nhibernate Fluent NHibernate是否提供iSeries数据提供程序?,fluent-nhibernate,db2-400,Fluent Nhibernate,Db2 400,我正在尝试使用Fluent NHibernate连接到我们的AS/400 iSeries DB2服务器。我有以下代码: private static ISessionFactory CreateSessionFactory() { return Fluently.Configure() .Database(DB2Configuration.Standard.ConnectionString("DataSource=MyServer;UserID=MyUser;Passwo

我正在尝试使用Fluent NHibernate连接到我们的AS/400 iSeries DB2服务器。我有以下代码:

private static ISessionFactory CreateSessionFactory()
{
    return Fluently.Configure()
        .Database(DB2Configuration.Standard.ConnectionString("DataSource=MyServer;UserID=MyUser;Password=password;"))
        .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
        .BuildSessionFactory();
}
我正在运行nhprof,我得到错误信息: 无法加载文件或程序集“IBM.Data.DB2”或其依赖项之一。系统找不到指定的文件。无法加载类型IBM.Data.DB2.DB2Command,IBM.Data.DB2

我知道IBM.Data.DB2.dll对于iSeries来说是不正确的.dll。它应该加载IBM.Data.DB2.iSeries.dll,它位于我的bin文件夹中


NHibernate有一种加载iSeries dll的方法。我怎样才能让Fluent加载它呢?

我想出来了,以防万一其他人正在为此而挣扎

我取出了nhibernate.cfg.xml文件并用代码完成了它。此代码似乎有效:

private static ISessionFactory CreateSessionFactory()
{
    ISessionFactory factory = null;

    var cfg = new Configuration();
    cfg.DataBaseIntegration(x =>
    {
        x.ConnectionString = "DataSource=MyServer;UserID=MyUser;Password=password; DataCompression=True;";
        x.Dialect<DB2400Dialect>();
        x.Driver<DB2400Driver>();
    });

    factory = Fluently.Configure(cfg)
        .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
        .BuildSessionFactory();

    return factory;
}

我想出来了,以防万一其他人也在挣扎

我取出了nhibernate.cfg.xml文件并用代码完成了它。此代码似乎有效:

private static ISessionFactory CreateSessionFactory()
{
    ISessionFactory factory = null;

    var cfg = new Configuration();
    cfg.DataBaseIntegration(x =>
    {
        x.ConnectionString = "DataSource=MyServer;UserID=MyUser;Password=password; DataCompression=True;";
        x.Dialect<DB2400Dialect>();
        x.Driver<DB2400Driver>();
    });

    factory = Fluently.Configure(cfg)
        .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
        .BuildSessionFactory();

    return factory;
}