如何使ASP.NET MVC 4模型链接到Oracle数据库

时间:2014-03-20 10:32:33

标签: c# asp.net-mvc oracle

这是我的第一个MVC应用程序,请耐心等待。我在Visual Studio 2012中创建了一个ASP.NET MVC 4 Web应用程序。我首先创建了数据库代码,所以我所做的就是创建模型,并为我创建数据上下文和SQL服务器数据库。每次我更改模型时,我都可以更新数据库。我还连接到Oracle数据库获取我需要的其他数据。这些是使用的连接字符串:

<connectionStrings>
  <add name="ApplicationDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=something;Integrated Security=True" providerName="System.Data.SqlClient" />
  <add name="ConnectionString" connectionString="Data Source=something;Persist Security Info=True;" providerName="Oracle.DataAccess.Client" />
</connectionStrings>

但是,与模型相关的数据库需要在Oracle中(我需要一个脚本,但这是下周的问题)而不是SQL。

我希望我可以像这样更改Web配置中的数据上下文提供程序名称:

<connectionStrings>
  <add name="ApplicationDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=something;Integrated Security=True" providerName="System.Data.OracleClient" />
  <add name="ConnectionString" connectionString="Data Source=something;Persist Security Info=True;" providerName="Oracle.DataAccess.Client" />
</connectionStrings>

但这不起作用 - 它给了我错误。

请注意,我不是在询问OracleMembershipProvider。这个问题的独特之处在于我希望模型与Oracle数据库相关。我并不担心会员资格和用户身份验证等问题。我已经处理好了。

看起来它应该很简单,但我用Google搜索,直到找到的每个链接都是紫色。

我需要你告诉我步骤以及做什么(希望在网络配置中)让我的模型能够创建&#39;一个Oracle数据库。请。

1 个答案:

答案 0 :(得分:2)

在阅读了大量文章之后,我发现Oracle首先不支持代码(尽管如此)虽然有一些工作,但最好是创建脚本来为我们创建数据库。

作为替代解决方案,我们首先在Oracle中创建数据库,然后从MVC应用程序连接到它。

我们添加了一个ADO.NET实体数据模式,在EDM向导中我们说“从数据库生成”并添加了一个到Oracle数据库的新连接。您需要用于Visual Studio的Oracle Developer Tools。

添加新控制器,对于数据上下文类,选择“实体”。不要忘记将连接字符串添加到Web配置。

<add name="Entities" connectionString="...;provider=Oracle.DataAccess.Client;provider connection string=...;data source=...;" providerName="System.Data.EntityClient" />

这应该在你开始编码之前完成,因为你不再有模型所以我不得不更改我的代码。不过一两天的工作。