经过几个小时的搜索,我有点失望。任何人都可以确认(或不确认)在现有的 Postgres SQL 数据库中可以使用 EF 数据库优先方法(我的意思是,使用 VS EDMX degigner)吗?
一些要求:
- 我想使用 ngsql 提供程序,因为它是免费的(但我不确定它是否适用于数据库优先方法)
- 我不想使用 Devart Connect 提供程序,因为它不是免费的,而且是用于个人项目。我可以考虑快速版本,但我认为它不适用于设计模式。
Cheers
这个问题出现在大多数谷歌搜索 EF Database First with Postgres 中,并且接受的答案直接指向 CODE First 而不是 DATABASE First 的演练,所以我将添加一个指向这个答案的指针,这让我找到了解决它的大部分方法:
Visual Studio 2015 中的向导中缺少 PostgreSQL 数据提供程序 https://stackoverflow.com/questions/43478480/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 数据库第一个向导中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)