【发布时间】: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