1

我尝试配置会话,但是当我在 dbConfigObject 中指定时,Visual Studio 告诉我无法创建驱动程序。

我在 App.config 中有 Oracle.DataAccess 库和我的连接字符串。我在 FluentNhibernateHelper 中的代码是这样的:

public static class FluentNHibernateHelper
{
    private static ISessionFactory _sessionFactory;
    public static ISessionFactory SessionFactory
    {
        get
        {
            if (_sessionFactory == null)
            {
                var dbConfig = OracleDataClientConfiguration.Oracle10
                .ConnectionString(c => c.FromConnectionStringWithKey("Oracle"))
                .Driver<OracleDataClientDriver>()
                .ShowSql();
                _sessionFactory = Fluently.Configure()
                  .Database(dbConfig)
                  .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Empleado>())
                  .BuildSessionFactory();
            }
            return _sessionFactory;
        }
    }

    public static ISession OpenSession()
    {
        return SessionFactory.OpenSession();
    }
}
4

1 回答 1

0

没有足够的关于来自 NHibernate 的异常的信息......但如果你得到:

...无法从 NHibernate.Driver.OracleDataClientDriver 创建驱动程序...

并且因为代码似乎没问题,你应该检查这个问答:

Fluent NHibernate - 配置 Oracle 数据提供者 ODP

我想到了。当您引用 ODP 时,您必须将引用的复制本地属性设置为 true,否则它将找不到它正在寻找的对象。

于 2015-09-04T05:20:17.437 回答