1.oracle与EntityFramework连在一起使用,那么一定是基于SetupODTforVS2015这个插件的,有了这个插件我们在加入model 的时候才能选到oracle的数据库
2.接下去我们就需要添加model
我这边用过11g和12c的oracle,在二个不同的环境中,使用同一个model是不行的,会有很多错误下面列举一下
at System.Data.Entity.Internal.AppConfig.get_DefaultInstance() ↵ at Syste
使用EF访问数据库,出现“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常
还有很多其他问题
所以我们在进行开发的时候,11g用11g的model,12c用12c的model,这一点是尤其要注意的,不要因为怕麻烦就用同一个数据库,有可能一个新的环境就和你的开发的数据库环境不一样,这样就会导致EntityFramework和数据库无法兼容。
在添加model的时候会有这样一个页面
这是一个很重要的点,11g和12c都是只能用EntityFramework5.0,但是我们需要的
Oracle.ManagedDataAccess.EntityFramework和Oracle.ManagedDataAccess都是基于
EntityFramework6.0那么我们在添加的时候就要注意了,首先这二个dll版本要一直推荐18.3这个版本NuGet上有,加完这个之后先不要添加表,在做一个操作,把EntityFramework升级至6.0,确保我们后续的兼容性的问题,因为EF是向下兼容的,所以就算我们的实体框架使用的EF5,他也不会有问题的
那么接下去我们就要开始配置应用程序的config了,确保应用程序的config和类库的config一直就好了
我在配置遇到一个问题,后来的解决办法是直接注释的,我把错误和解决方法发布出来,如果有大神知道是什么原因导致的可以说下,这二个providers是NuGet加的,至于什么原因就不了解了
错误EF中System.Data.Entity.Internal.AppConfig的类型初始值设定项引发异常
解决办法注释
4.配置都完成了,最后发现还是404找不到路径
最后发现的结果是config配置的错误
如果引用和config配置的版本不一样也会会导致结果无法使用