安装完 Oracle Developer Tools for Visual Studio,配置完EF后运行出现:
其他信息: 指定的存储区提供程序在配置中找不到,或者无效。
或 找不到请求的 .Net Framework Data Provider。可能没有安装。
引发异常的原因是因为machine.config文件中没有配置oracle的程序映射。
machine.config:Visual Studio的配置文件,位于C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
原因:
首先分析连接字符串
<connectionStrings>
<add name="Entities" connectionString="metadata=res://*/EF.OracleModel.csdl|res://*/EF.OracleModel.ssdl|res://*/EF.OracleModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string="DATA SOURCE=192.168.0.153:1521/orcl;PASSWORD=Erp168;USER ID=ERPUSER1"" providerName="System.Data.EntityClient" />
</connectionStrings>
- name="Entities" //连接字符串名称
- connectionString="" //连接字符串主题
- provider=Oracle.ManagedDataAccess.Client; //Oracle.ManagedDataAccess.Client程序集的名称,用于将EntityClient 的操作结果,解释为Oracle识别的操作,并作用于Oracle数据库,这个程序集它不是默认VS自带的,而是通过machine文件配置出来的,所以假如没有这个程序集,就无法和Oracle沟通,即使运行成功一但有涉及到数据库的数据操作就会发生异常
- providerName="System.Data.EntityClient" //System.Data.EntityClient 命名空间是 Entity Framework 的 .NET Framework 数据提供程序。
invariant需要和配置文件的provider一样名字一样
3169



被折叠的 条评论
为什么被折叠?



