【问题标题】:how to use Code first approach for oracle如何在 oracle 中使用 Code first 方法
【发布时间】:2014-07-24 18:19:26
【问题描述】:

我成功地在 mvc4 应用程序中为 SQL 使用了代码优先方法。但是,当我想为 Oracle 应用代码优先方法时,我收到以下消息:

No Entity Framework provider found for the ADO.NET provider with invariant name
'Oracle.DataAccess.Client'. Make sure the provider is registered in the
'entityFramework' section of the application config file

现在我正在使用实体框架 6。请告诉我使用 ORACLE 的代码优先方法创建数据库的简单步骤是什么。需要哪个“ddl”?什么是网络配置设置?

【问题讨论】:

    标签: oracle entity-framework asp.net-mvc-4


    【解决方案1】:

    从 Oracle 数据访问组件 (ODAC) 12c 第 3 版 (12.1.0.2.1) 开始,ODP.NET 支持从 Entity Framework 6 迁移代码优先和代码优先。ODP.NET 提供数据访问以存储 EF 模型在 Oracle 数据库中进行改进。

    http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/CodeFirst/index.html#section1

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然这可能会回答问题,但it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
    【解决方案2】:

    您需要为您的 Oracle DB 指定一个提供程序,以及there is no native provider,you need a third party one

    这里有一个"official" 列表,其中包含不同数据库的所有实体框架提供程序。请注意,有one from Oracle,也可以作为 Nuget 包安装。

    来自Oracle docs的注意:

    目前不支持实体框架 6。某些 Visual Studio 版本可能默认使用 Entity Framework 6。如果是这样,请将您的 .NET 项目设置为使用早期版本的 Entity Framework。

    DevArt dot connect 支持所有版本的 EF。

    因此,要使用 ODP,您需要降级到 EF5,或购买 dotConnect。

    可以在此处找到配置 web.configapp.config 的详细信息:Deploying and Configuring ODP.NET to work without installation with Entity Framework

    【讨论】:

    • 感谢您的回复,我已经从 nugent 安装了“oracle DataProvider for .net(ODP.Net)”。但我仍然遇到上述问题。请建议我在里面添加 oracle 提供程序?配置文件是什么?
    • 非常感谢。我已经看到了这个步骤,但它非常令人困惑。请建议我们是否使用 Oracle.ManagedDataAccess.Client 那么需要遵循的正确步骤是什么
    • 使用 EF5,而不是 EF6,并按照说明进行配置
    • 我已经关注但仍然无法正常工作。而且我正在使用 EF5.pls 帮助
    • 嗨 joteBe,您能帮忙吗?现在我收到以下错误消息:没有找到提供程序“Oracle.ManagedDataAccess.Client”的 MigrationSqlGenerator。使用目标迁移配置类中的 SetSqlGenerator 方法注册额外的 SQL 生成器。
    猜你喜欢
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 2016-05-10
    • 2019-10-11
    相关资源
    最近更新 更多