ASP.NET MVC+EF+ORACLE应用的记录

EF映射ORACLE数据库:

1.需要在本地下载安装ORACLE客户端。

我下载的是这个版本,只需要客户端就可以。

 

2.还需要下载一个Tools,

 

 

3.在VS中,还要需要Nuget 包添加一个引用

 

也可以手动添加两个dll Oracle.ManagedDataAccess.EntityFramework.dll 和Oracle.ManagedDataAccess.dll,

但是如果是手动添加则需要在web.config 中EntityFramework节点下修改配置

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </providers>
  </entityFramework>

4.如果报错:

System.InvalidOperationException类型的异常在 EntityFramework.dll 

其他信息:未能找到连接字符串

使用ef的数据模型,报错,把自动生成的app.config中的连接字符串copy到web.config中就ok了。

 

5.如果报错:

“System.Data.Entity.Core.EntityException”类型的异常在 EntityFramework.SqlServer.dll 中发生,但未在用户代码中进行处理

其他信息: The underlying provider failed on Open.

这是因为web.config 中的连接字符串中没有配置连接数据的密码。
在user id 后面加上Password就好了。
如:user id=sa;Password=ping123~!@;

 

posted on 2018-04-09 09:49  PingPo  阅读(298)  评论(0编辑  收藏  举报

导航