EF / Postgresql数据库第一种方法可能吗?

时间:2013-05-06 08:22:51

标签: entity-framework postgresql

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

一些要求:

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

干杯

2 个答案:

答案 0 :(得分:3)

这个问题出现在大多数谷歌搜索EF数据库第一次使用Postgres,并且接受的答案指向CODE首先不是DATABASE,所以我将添加一个指向这个答案的指针,这让我大部分时间到了解决它:

PostgreSQL data provider missing from wizard in Visual Studio 2015

基本上有一个用于postgres的Visual Studio扩展(只需在Postgres的扩展和更新中搜索)但我还必须修改我的app.config中的实体框架节点,因为它是在我安装扩展之前添加的这样:

  <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数据库第一个向导中。

答案 1 :(得分:-2)

是的,这是可能的。一个快速的谷歌搜索发现walkthrough并没有暗示有任何特殊的问题。

我会注意到我对代码第一个ORM框架持怀疑态度,因为我认为它们忽略了数据库设计的关键方面,从而鼓励数据库中没有对未来进行真正的规划,因此我认为它有点专业化工具,但答案似乎是肯定的,它可行。