[笔记系列]MySql + Entiy Framework 4.5.2 Code-First(Migrations)

参考资料:
https://zhuanlan.zhihu.com/p/43190042
https://www.c-sharpcorner.com/blogs/mysqlentityframeworkcodefirst-for-net-developers
https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html

首先:版本需要mapping
.Net Framework 4.5.2
EntityFramework 6.2.0
MySql.Data 8.0.14
MySql.EntityFramework 8.0.14
(只需要以上)
修改 Web.Config

  <connectionStrings>    <add name="mysqlConnect" connectionString="Datasource=.;port=20201;uid=admin;pwd=admin;Database=db;" providerName="MySql.Data.MySqlClient" />  </connectionStrings>      <entityFramework codeConfigurationType="MySql.Data.EntityFramework.MySqlEFConfiguration, MySql.Data.EntityFramework"><defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/><providers>  <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework" />  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /></providers>  </entityFramework>    <system.data>    <DbProviderFactories>      <remove invariant="MySql.Data.MySqlClient" />      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"           type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />    </DbProviderFactories>  </system.data>

--就这样

PM>Enable-Migrations 就可以成功了

在Configuration.cs中加入
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.EntityFramework.MySqlMigrationSqlGenerator());

{using System;using System.Data.Entity;using System.Data.Entity.Migrations;using System.Linq;internal sealed class Configuration : DbMigrationsConfiguration<MamawayWeb.Models.DbEntity.MamawayContext>{    public Configuration()    {        AutomaticMigrationsEnabled = false;        SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.EntityFramework.MySqlMigrationSqlGenerator());    }    protected override void Seed(MamawayWeb.Models.DbEntity.MamawayContext context)    {        //  This method will be called after migrating to the latest version.        //  You can use the DbSet<T>.AddOrUpdate() helper extension method         //  to avoid creating duplicate seed data.    }}

}

之后第一次
Add-Migration InitialCreate –IgnoreChanges

Add-migration就能成功啰
接着update-database


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章