微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

流利的NHibernate 3和Oracle.DataAccess

如何解决流利的NHibernate 3和Oracle.DataAccess

| 我的问题: 我正在尝试将
Oracle.DataAccess.Client
Provider与NHibernate(Fluent)结合使用,我将其配置如下:
Fluently.Configure().Database(OracleClientConfiguration.Oracle10.Provider(\"Oracle.DataAccess.Client\").ConnectionString(c => c.FromConnectionStringWithKey(\"ORACLE1\"))).
我有这个错误
\"Could not load type Oracle.DataAccess.Client. Possible cause: no assembly name specified.\":\"
我已经添加了对
Oracle.Dataaccess
dll(ODAC)的引用,其副本为local = true,但错误仍然存​​在... 有什么建议么?     

解决方法

这是一个工作代码段:
public static void InitializeNHibernate()
{
    var configurer = (OracleClientConfiguration.Oracle10.ShowSql().ConnectionString(c =>
                 c.FromConnectionStringWithKey(\"development\"))
                 .DefaultSchema(\"myschema\")
                 .UseReflectionOptimizer()
                 .Cache(c =>
                         c.ProviderClass<SysCacheProvider>()
                         .UseQueryCache()));

    var cfg = Fluently.Configure()
        .Database(configurer)
        .Mappings(m =>
                      {
                          m.FluentMappings
                              .AddFromAssemblyOf<Employee>()
                              .Conventions.Add<OracleDateTimeTypeConvention>();

                          m.HbmMappings
                              .AddFromAssemblyOf<Employee>();
                      })
        .ExposeConfiguration(configuration =>
        {
            configuration.SetProperty(Environment.Hbm2ddlKeyWords,\"auto-quote\");
            configuration.SetProperty(Environment.GenerateStatistics,\"true\");
            configuration.SetProperty(Environment.CurrentSessionContextClass,\"web\");
            configuration.SetProperty(Environment.CommandTimeout,\"60\");
        });
}
如果不指定提供程序,它将自动启动Oracle DataAccess。 编辑: 它不会自动拾取它,而只是在连接字符串上显示它:
<add name=\"development\" connectionString=\"Data Source=XXX;User ID=yyy;Password=zzz;\" providerName=\"Oracle.DataAccess.Client\"/>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。