MySQL连接字符串末尾要加sslmode=none
<add name="DBModel" connectionString="server=127.0.0.1;user id=root;password=***;database=***;SslMode=none;" providerName="MySql.Data.MySqlClient" />
这个nuget包和connector/net 的版本要一致 不然会出现奇怪的问题
进行codefirst数据迁移的时候要加这个特性
[DbConfigurationType(typeof(MySql.Data.EntityFramework.MySqlEFConfiguration))]
在enable-migration时要添加
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.EntityFramework.MySqlMigrationSqlGenerator());
CodeGenerator = new MySql.Data.EntityFramework.MySqlMigrationCodeGenerator();
遇到有前缀的情况在add的迁移文件中删除前缀然后重新迁移
enable-migration 初始化数据迁移
add-migration 自定义迁移文件名称
update-database 使用迁移文件生成数据库