我花了一天的时间尝试将实体框架6 SQL Server CE迁移到PostgreSQL。在Visual Studio 2015中向导中缺少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的要求?
感谢