如何在VS2010 Pro中的实体数据模型向导中将数据源更改为PostgreSQL

时间:2015-08-07 06:04:41

标签: postgresql ado.net-entity-data-model npgsql

我按照指南进行了操作:https://github.com/npgsql/Npgsql/wiki/Visual-Studio-Design-Time-Support---DDEX-Provider#install-npgsqlddexprovidervsix

当我到达步骤:更改数据源时,只有SQL Server提供程序出现在列表中。 (PostgreSQL数据库)没有出现。

我可以执行哪些故障排除步骤来弄清楚它没有出现的原因?

Win7 x32,VS2010 Pro

3 个答案:

答案 0 :(得分:2)

希望他们不会删除这个答案,因为我在阅读上一个与你很相似的问题时已经使用了这个答案。经过大约一周的研究和我的头撞到我的桌子后,我终于让我的Npgsql MVC实体框架应用程序工作......并使用向导工作。步骤如下......

1)关闭Visual Studio,然后从https://marketplace.visualstudio.com/items?itemName=RojanskyS.NpgsqlPostgreSQLIntegration下载并安装Npgsql PostgreSQL集成

2)重新启动计算机。 (是的,这是必要的,我保证)

3)打开visual studio并安装以下NuGet包,按列出的顺序和列出的VERSION ...

- > EntityFramework版本6.0.0,然后清理并重建

- > Npgsql 3.1.0,然后清理并重建

- > EntityFramework6.Npgsql 3.1.1,然后清理并重建

注意:如果列出的顺序和版本不能安装其他Nuget软件包,则可能需要卸载它们。如果是这样,请记下并稍后再添加。是的,你需要在上面的每一个之间进行清理/重建。

4)关闭所有应用程序并重新启动计算机。 (是的,这是必要的,我保证)

5)重新启动计算机后,再次打开Visual Studio并转到解决方案。注意:我建议您为数据库连接添加一个新项目,但这更像是一个偏好。

6)再次尝试使用实体框架向导。您应该看到Npgsql选项,它不应该只是崩溃。

答案 1 :(得分:0)

我有同样的问题。手动方式很难。我无法使用它。尝试使用自动设置文件。但是没有任何版本的npgsql包含它。 例如,可以从官方站点使用2.2.5版本(从页面下部设置exe文件):https://github.com/npgsql/npgsql/releases/tag/v2.2.5

答案 2 :(得分:0)

我按照Ashley建议的步骤进行操作,并将其添加到App.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <providers>
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
    </providers>
  </entityFramework>
</configuration>

还使用了软件包的版本:

    <PackageReference Include="EntityFramework">
      <Version>6.4.4</Version>
    </PackageReference>
    <PackageReference Include="EntityFramework6.Npgsql">
      <Version>6.4.1</Version>
    </PackageReference>
    <PackageReference Include="Npgsql">
      <Version>4.1.3.1</Version>
    </PackageReference>

它开始工作-现在我列出了PostgreSQL数据库数据源-具有.net framework 4.7.2库项目的Visual Studio 2019(16.5.5)(我在其他项目中引用了它)。 PostgreSQL Database data source is now available

不确定是否需要在步骤3)中进行重建,并在4)中进行第二次重启, 想回复最初的阿什利答案,但“您必须有50个声誉” ...