如何在使用流畅的Nhibernate时配置驱动程序?

时间:2015-09-03 17:43:14

标签: c# oracle nhibernate fluent-nhibernate nhibernate-configuration

我尝试配置会话但视觉工作室告诉我在dbConfigObject中指定时无法创建驱动程序。

我在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();
    }
}

1 个答案:

答案 0 :(得分:0)

关于来自NHibernate的异常的信息不足......但是如果你得到:

  

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

因为代码似乎没问题,你应该查看这个Q&amp;答:

Fluent NHibernate - Configure Oracle Data Provider ODP

  

我明白了。当您引用ODP时,您必须将引用的copy local属性设置为true,否则它将找不到它要查找的对象。