【问题标题】:Failure to update model from database using EF 5 and VS 2015使用 EF 5 和 VS 2015 从数据库更新模型失败
【发布时间】:2015-11-03 22:51:24
【问题描述】:

我有一个使用 Oracle 数据库和 Entity Framework 5 的 C# 应用程序。Oracle 客户端是版本 12c R1。我的应用程序使用数据库优先方法。我正在尝试使用 Visual Studio Enterprise 2015 运行该应用程序。当我访问 edmx 文件并尝试从数据库更新模型时,它给了我以下错误:

尝试从数据库更新时发生“System.ArgumentException”类型的异常。异常消息是:'无法将运行时连接字符串转换为其设计时等效项。未为提供程序“Oracle.DataAccess.Client”安装启用 Visual Studio 以与数据库通信以用于设计目的(DDEX 提供程序)所需的库。连接字符串:XXXXX。

当我使用 Visual Studio Ultimate 2013 时不会出现此错误。仅在 Visual Studio Enterprise 2015 上。

新版本是否存在任何已知的不兼容问题?

【问题讨论】:

  • 我在 VS2017 中面临同样的 SQLite 问题。我相信这可能是因为我的机器没有安装 System.Data.SQLite 组件(在撰写本文时它们还不可用)。

标签: c# oracle entity-framework visual-studio


【解决方案1】:

我相信是因为还没有与 Visual Studio 2015 兼容的 ODT 版本。等待还是暂时别无选择?

Oracle Developer Tools

【讨论】:

  • 有道理。我相信我将不得不在 2013 年和 2015 年之间不断切换。感谢您的帮助!
  • 现在我已经完成了。用2013和2015换,直到离开升级到2015看看能不能解决。
  • 看起来 Oracle 于 2015 年 10 月 29 日发布了 VS2015 ODT。我使用来自 @FernandoArce 的链接安装了它,并修复了我的错误。现在对我来说一切都很好。
【解决方案2】:

我安装了 2015 年的 Oracle 开发人员工具,但仍然无法正常工作。当我尝试使用实体框架从数据库中更新模型时,我在下面遇到了这个错误。

所以我按照指示做了,并从 GAC 中删除了所有对 Oracle 的引用,即使遵循这里的建议 Oracle .Net Developer's Guide,但它仍然不起作用。由于我的日程安排很紧,没有时间愚弄这个,我在 VS2012 中打开了我的解决方案,更改了我的实体框架,然后在 VS2015 中重新打开了解决方案,效果很好。烦人,但至少我现在有一个解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 2021-05-25
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多