如何在 ASP.NET Boilerplate Core 2.0 模板中使用 Npgsql?

chr*_*ack 5 migration postgresql npgsql aspnetboilerplate asp.net-core-2.0

我花了很多时间尝试将 PostgreSQL 与 ASP.NET Boilerplate Core 2.x + Module Zero(看起来很棒!)一起使用。

  1. 我将Npgsql.EntityFrameworkCore.PostgreSQL&Npgsql.EntityFrameworkCore.PostgreSQL.Design依赖添加到myApp.EntityFrameworkCore.

  2. 我还更改了连接字符串,我使用builder.UseNpgsql而不是builder.UseSqlServerin myappDbContextConfigurer.cs

作为一个新项目,我从Npgsql v2.0.0. 但是经过几个问题,我发现这个版本有一些问题。所以我回到了1.1.1发布。

我很确定这部分工作正常。下一步是删除所有现有迁移并重新加载它们:

  • Add-Migration "Initial_Migrations"
  • Add-Migration "AbpZero_Initial"

当我做第一个时,我收到一个错误:

来自程序集“Npgsql.EntityFrameworkCore.PostgreSQL, Version=1.1.1.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7”的“Microsoft.EntityFrameworkCore.Infrastructure.Internal.NpgsqlOptionsExtension”类型中的方法“Clone”没有实现。

我在这里找到了解决方案的开始(第 6 篇文章):https : //forum.aspnetboilerplate.com/viewtopic.php?t=5304&p=13013

帖子似乎有点过时,我不知道在哪里实施NpgsqlMigrationSqlGenerator(我的意思是,在哪个项目中)。

感谢您阅读这篇文章,任何帮助将不胜感激。

Geo*_*uke 5

要解决 Abp 模板(v3.4.0 .NET core + mvc + modulezero)的问题,您必须:

  • 卸载包 Microsoft.EntityFrameworkCore.SqlServer
  • 添加 Npgsql.EntityFrameworkCore.PostgreSQL (2.0.0) & Npgsql.EntityFrameworkCore.PostgreSQL.Design (1.1.1)
  • 将所有文件放入“Migrations”目录(项目“EntityFrameworkCore/Migrations”)

这里还指出了其他一些细微的变化。