首页 / ORACLE / Oracle EF5升级EF6
Oracle EF5升级EF6
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle EF5升级EF6,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2091字,纯文字阅读大概需要3分钟。
内容图文
![Oracle EF5升级EF6](/upload/InfoBanner/zyjiaocheng/450/f3f4baee90c94d5a840cc2b532edb9d1.jpg)
【配置系统环境】
按照官方文档的指引,下载安装EF6插件、Oracle EF Visual Studio插件,详情如下:
https://msdn.microsoft.com/en-us/data/dn469466
https://msdn.microsoft.com/en-us/data/jj730568
http://www.oracle.com/technetwork/topics/dotnet/downloads/install121021-2389380.html
【配置工程环境】
Web.config 中configuration节点下添加如下数据库提供程序:
<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> <providers> <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework" /> </providers> </entityFramework>
编译成功,运行会发现一大堆的类型不匹配的错误。
如果是Database First的,重新生成数据模型,会发现Model的数据类型变了,EF6相对于EF5的数据类型更加严格,比如:
EF5 NUMBER(3) short
EF6 NUMBER(3) Byte
这在某些情况下是不能满足我们的需求的,只要在App.config和Web.config中configuration节点下添加下面的配置就可以了。
<oracle.manageddataaccess.client> <version number="*"> <edmMappings> <edmNumberMapping> <add NETType="int16" MinPrecision="1" MaxPrecision="5" DBType="Number"/> </edmNumberMapping> </edmMappings> </version> </oracle.manageddataaccess.client>
看到上面的配置,我们是不是可以把Number(1) 配置成Bool呢?根据需要吧。
【oracle ef 数据库读写分离】
我升级到EF6就是为了读写分离,EF6增加了DbCommandInterceptor过滤器,通过过滤器我们可以记录执行的脚本,更可以做自动读写分离,相关请参考两位牛人的博客。
1. http://www.cnblogs.com/lori/p/4208974.html
2. http://www.cnblogs.com/cjw0511/p/4391092.html
关于用哪个,看个人需求了,两种基本差不多。
第一种在每次读的时候创建新的连接,所以在多次读的时候相当于多次连接。
第二种在读的时候把连接转到读的,写的时候把连接转到写的,事务开始时转写的,不过目前事务处理上还有点bug
不管是哪种方案,如果在一次业务处理中,既要读又要写,建议创建两个数据库实例,避免全走主库或者导致读写交替关闭打开。
Oracle EF5升级EF6
标签:
本文系统来源:http://www.cnblogs.com/hkflyor/p/4565700.html
内容总结
以上是互联网集市为您收集整理的Oracle EF5升级EF6全部内容,希望文章能够帮你解决Oracle EF5升级EF6所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。