我花了一天时间尝试将 Entity Framework 6 SQL Server CE 迁移到 PostgreSQL。
我已经很好地复制了数据库,但我似乎无法让数据提供程序正常工作。
首先,我尝试了旧版 2.2.7 版本的 EF 提供程序,它不需要 .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?
Thanks