【问题标题】:PostgreSQL data provider missing from wizard in Visual Studio 2015Visual Studio 2015 中的向导中缺少 PostgreSQL 数据提供程序
【发布时间】:2017-04-18 17:19:47
【问题描述】:

我花了一天时间尝试将 Entity Framework 6 SQL Server CE 迁移到 PostgreSQL。

我已经很好地复制了数据库,但我似乎无法让数据提供者工作。

首先,我尝试了 EF 提供程序的旧 2.2.7 版本,它不需要 .NET 4.5(因为我们的项目无法使用它),但这不起作用。我一直在使用NpgsqlConnection 而不是SqlConnectionStringBuilder 并将app.config 更改为具有Host 的连接字符串(我尝试了Server 但它不喜欢它)和Database 值,并制作了确保EF部分如下:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
        <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
    </providers>
</entityFramework>

我现在忽略了这个限制,只是为了让它工作,所以我有 EF 提供程序的 EF6 v3.1.1 版本和最新的 .NET 提供程序 (v3.2.2),但这也不起作用。

为了修复它,我也一直在尝试通过安装 VS2015 扩展将 EDMX 从 SQL Server CE 重新同步到 PostgreSQL 替代品,但它只是给出一条消息说发生了错误,所以我试过这个:https://github.com/npgsql/npgsql/issues/1514 它走得更远,打开了窗户,但我一输入框就崩溃了。自从将项目升级到 .NET 4.5 后,这个提供程序就根本不再出现了……

我尝试过多次重新安装所有内容并多次重新启动 VS,并且由于升级我还尝试安装 GAC 文件,因为不清楚 VS 扩展是否需要它们(也是 v3.2.2)。

有没有人能够阐明如何最容易地让所有这些工作,最好不需要 .NET 4.5?

谢谢

【问题讨论】:

    标签: postgresql visual-studio-2015 entity-framework-6 sql-server-ce npgsql


    【解决方案1】:

    我通过安装 Visual Studio 扩展 Npgsql PostgreSQL 集成 得到了它。 按照此页面上的说明进行操作:https://www.npgsql.org/efcore/

    这个帖子把我引向了正确的道路:Add custom data source to visual studio 2015

    【讨论】:

      【解决方案2】:

      按照 tsChan 的回答安装 npgsql 扩展对我来说还不够,我还必须修改我的 app.config(我怀疑是因为它是在我安装扩展之前创建的)以在 EntityFramework 中包含 npgsql 数据提供程序部分如下:

      <entityFramework>
          <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
          <providers>
            <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />      
            <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
          </providers>
        </entityFramework>
      

      在我这样做之后,提供程序出现在向导选项中。

      【讨论】:

        【解决方案3】:

        Visual Studio 2019 中的向导中缺少 PostgreSQL 数据提供程序 //它可以工作

        1. 安装此扩展“Npgsql PostgreSQL 集成”https://marketplace.visualstudio.com/items?itemName=RojanskyS.NpgsqlPostgreSQLIntegration
        2. 从 Nu 获取包管理器安装“EntityFramework6.Npgsql”包
        3. 安装后无需重新启动或编辑 app.config 文件,您将看到项目 references 文件夹和 app.config 文件发生变化李>
        4. 现在点击添加->新项目->ADO.NET 实体数据模型->数据库中的 EF 设计器->新连接->更改您将在数据源中看到 postgress

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-06-10
          • 1970-01-01
          • 2016-10-28
          • 1970-01-01
          • 1970-01-01
          • 2019-06-16
          • 1970-01-01
          相关资源
          最近更新 更多