① EF6 有查询缓存,怎么办
设置好查询缓存的大小就行了。比如设置个20MB.
SET GLOBAL QUERY_CACHE_SIZE=20000000;
mysql会将查询SQL和结果集存到缓存中,等下次遇到相同的SQL语句时,结果集从缓存中读取。
不设置就不用缓存了
② vs2010 使用ef6.0访问oracle数据库报错!
数据库为Oracle,就不要使用EF了。
问题已经很明显。“Make sure the provider is registered in the 'entityFramework' section of the application config file”,就是让你看看在App.config文件中的<provider>。
【源文件中的内容如下】:
<entityFramework>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</entityFramework>
按理说,只要将<provider />写成:
<provider invariantName="Oracle.ManagedDataAccess.Client" type="System.Data.OracleProviderServices, EntityFramework.OracleServer" />
之类即可,但是可悲啊!
目前支持EF6的provider有:
(1)Microsoft SQL Server provider
(2)Microsoft SQL Server Compact Edition provider
(3)Devart dotConnect Data Providers 【注意】
(4)Firebird provider
(5)Visual Fox Pro porvider
(6)MySQL
(7)PostgreSQL
1、2、4、5、7均可以从NuGget中获取。3、7需要到相应的网站获取。
注意第三个:这个插件就是用于Oracle数据库的,其为第三方插件,由Devart公司开发。但有两大致命缺点:1、收费(是30天免费试用,过了30天要么卸载,要么付款)。2、目前支持的Oracle的最高版本为:Oracle8.2i。
哎!数下流剑客,还是Oracle!!!