将ASP.NET核心标识从SQL Server迁移到MySQL的问题

时间:2016-10-26 14:12:04

标签: mysql asp.net sql-server asp.net-core asp.net-identity

我正在努力将我的ASP.NET核心项目从使用Microsoft SQL Server迁移到MySQL,因为MySQL DB提供程序已经发布(“预发布”)。我在使用SQL Server时使用Core Identity作为成员身份,并且它在该配置中工作。当我将数据库迁移到MySQL时(使用MySQL Workbench中的迁移向导),我在将新用户保存到数据库时开始收到此错误:

  

无法找到CLR类型“Microsoft.EntityFrameworkCore.Metadata.Internal.Property”

的关系类型映射

执行CreateAsync方法时,此代码中出现错误:

std::vector

这是我的DbContext类:

std::initializer_list

我在想它可能与SQL Server和MySQL之间数据类型的差异有关。这是SQL Server表:

enter image description here

这是使用MySQL Workbench中的迁移向导后的MySQL表: enter image description here

请记住,使用SQL Server时,所有代码都能正常运行。感谢您的帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我将varchar字段的charset更改为utf8mb4,修复了问题。

我还选择使用Sapient Guardian版本的.net Core的MySql提供程序,事实证明它比MySql的版本要少得多。可以下载here