entity-framework - EF/Postgresql 数据库优先方法可能吗?

标签 entity-framework postgresql

经过几个小时的搜索,我有点失望。任何人都可以确认(或不能)使用 EF 数据库优先方法(我的意思是,使用 VS EDMX degigner)可以用于现有的 Postgres SQL 数据库吗?

一些要求:

  • 我想使用 ngsql 提供程序,因为它是免费的(但我不确定它是否以数据库优先的方式工作)
  • 我不想使用 Devart Connect 提供商,因为它不是免费的,而且是用于个人项目的。我可以考虑 express 版本,但我认为它不适用于设计模式。

干杯

最佳答案

这个问题出现在大多数使用 Postgres 的 EF Database First 的谷歌搜索中,接受的答案首先指向 CODE 的演练,而不是 DATABASE 首先,所以我将添加一个指向这个答案的指针,这让我大部分时间解决方法:

PostgreSQL data provider missing from wizard in Visual Studio 2015

本质上有一个用于 postgres 的 Visual Studio 扩展(只需搜索 Postgres 的扩展和更新)但我还必须修改我的 app.config 中的 Entity Framework 节点,因为它是在我安装扩展之前添加的,看起来像这个:

  <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>

这添加了 npgsql 作为数据提供者,在我这样做之后,数据提供者作为一个选项出现在 EF 数据库第一个向导中。

关于entity-framework - EF/Postgresql 数据库优先方法可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394760/

相关文章:

c# - 具有不同数据库、实体类型和 dbcontext 的通用存储库

ruby-on-rails - Rails 5,为 Postgres 9.5.4 安装 pg gem 时出错

postgresql - LANGUAGE sql 中函数的 RAISE EXCEPTION 语句的等效或替代方法?

postgresql - 查找哪一行包含无法转换为整数的值

sql - 工会异常行为

c# - 使用动态 Linq 查询子字符串时出错

.net - 基于 Entity Framework 的应用程序的 SQL Server 进程过多

c# - LINQ 中的条件 WHERE

c# - 在 IdentityDbContext 和主应用程序 DbContext 之间共享用户表

sql - 两个unix时间戳之间的Postgresql查询