问题一:
最近由于项目需要使用oracle数据库,就在开发机上安装了一个,装完发现死活连接不上,报未能在程序集Oracle.ManagedDataAccess中找到OracleInternal.Common.ConfigClass类。
参考EF(EntityFramework)使用Code First连接Oracle数据库详解替换掉
Oracle.ManagedDataAccess.dll
Oracle.ManagedDataAccess.EntityFramework.dll
还是同样的问题。好吧,上stackoverflow搜吧,找到一篇同样问题(链接)。有人说是因为GAC中Oracle.ManagedDataAccess.dll版本和在程序中安装的版本不一致,找到{Oracle home}\product\{version}\client_64\ODP.NET\managed\x64
,
运行OraProvCfg /action:ungac /providerPath:Oracle.ManagedDataAccess
,删除GAC中的ManagedDataAccess 果然就可以了。
问题二:Oracle表名、字段名、索引名不能超过30个字符,否则
未解析成员“Oracle.ManagedDataAccess.Client.OracleException,Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342”的类型。
问题三:DbContext中需要设置
modelBuilder.HasDefaultSchema(“YourSchema”);默认是dbo,会报找不到用户dbo