【发布时间】:2017-04-18 17:19:47
【问题描述】:
我花了一天时间尝试将 Entity Framework 6 SQL Server CE 迁移到 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?
谢谢
【问题讨论】:
标签: postgresql visual-studio-2015 entity-framework-6 sql-server-ce npgsql