【问题标题】:Visual Studio 2015, create .edmx file for postgresql without visual studio extensionVisual Studio 2015,为没有 Visual Studio 扩展的 postgresql 创建 .edmx 文件
【发布时间】:2020-02-17 11:59:03
【问题描述】:

我想使用 Visual Studio 2015 中的 .edmx 设计器来管理 postgresql 12 上的对象。 我已经安装了:

  • EntityFramework 6.2.0

  • EntityFramework6.Npgsql 3.2.1.1 依次安装:

  • Npgsql 4.0.7.0

所以我认为我没问题,而是单击“项目,添加新项目,ADO.NET 实体数据模型”,然后单击“数据库中的 EF 设计器”时,它不建议任何 postgresql 连接。

我已经阅读了有关 Visual Studio 集成的信息,找到它here,他们说它与 VS 2015 兼容。

但是在 Visual Studio Marketplace 中找到here,VS 2015 不在兼容产品中。
我尝试安装它,但出现以下错误:

10/21/2019 3:07:48 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.

在 VSIXInstaller.App.InitializeInstall(Boolean isRepairSupported) 在 VSIXInstaller.App.InitializeInstall() 在 System.Threading.Tasks.Task.InnerInvoke() 在 System.Threading.Tasks.Task.Execute()

所以我很清楚,这些工具在项目中引入了一整层令人毛骨悚然的依赖关系,超出了项目组件已经很复杂的依赖关系图。 我想避免这个扩展,但是在手动编写连接字符串时是否仍然可以使用设计器?如何?我至少可以使用代码优先的方法吗?

【问题讨论】:

  • 第一个链接说它是兼容的。你真的尝试安装它吗?我怀疑没有它您是否可以轻松使用 EF 设计器,因为它可能不知道如何从数据库中读取模式信息——这是扩展程序提到的功能之一。您必须在 XML 中手动编写整个 edmx,如果您在 db 中添加字段等,将没有更新向导
  • 或者,有什么特殊原因不能让你的项目只使用 VS2017 吗?
  • 我添加了尝试安装 .vsix 的异常。
  • 根据q&a 有人在 2017 年也遇到了这个错误。 vsix 可能有问题。可能值得在 github.com/npgsql/npgsql/issues 打开一个问题。但也许你应该先在 2017 年尝试。
  • 老实说,我无法将项目建立在如此错误的东西上。即使它不是错误的,它也有自己的一组要求,这些要求加起来就是一个已经很复杂的依赖关系树。这就是我提问的原因。没有这个扩展我能得到什么?如果我不使用它,我会错过什么?

标签: c# postgresql visual-studio-2015 entity-framework-6


【解决方案1】:

尝试从这里获取 Npgsql.vcix

https://github.com/npgsql/npgsql/releases/tag/v4.0.7

我在 4.0.10 版本中遇到了同样的问题,它对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 2019-04-04
    相关资源
    最近更新 更多