如何解决流利的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 举报,一经查实,本站将立刻删除。