Mysql 6.7.7 + EntityFramework 5.0 Code First 不能 Update-Database 问题的解决
1、修改 Migrations/Configuration.cs 文件
1 namespace DataModel.Migrations 2 { 3 using System; 4 using System.Data.Entity; 5 using System.Data.Entity.Migrations; 6 using System.Linq; 7 8 internal sealed class Configuration : DbMigrationsConfiguration<DataModel.SpaceDataContext> 9 { 10 public Configuration() 11 { 12 AutomaticMigrationsEnabled = true; 13 14 AutomaticMigrationDataLossAllowed = true; 15 16 SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator()); // This will add our MySQLClient as SQL Generator 17 } 18 19 protected override void Seed(DataModel.SpaceDataContext context) 20 { 21 // This method will be called after migrating to the latest version. 22 23 // You can use the DbSet<T>.AddOrUpdate() helper extension method 24 // to avoid creating duplicate seed data. E.g. 25 // 26 // context.People.AddOrUpdate( 27 // p => p.FullName, 28 // new Person { FullName = "Andrew Peters" }, 29 // new Person { FullName = "Brice Lambson" }, 30 // new Person { FullName = "Rowan Miller" } 31 // ); 32 // 33 } 34 } 35 }
2、修改 App.config 文件 entityFramework 节点
1 <entityFramework> 2 <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /> 3 <contexts> 4 <context type="DataModel.SpaceDataContext,DataModel"> 5 <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[DataModel.SpaceDataContext,DataModel], [DataModel.Migrations.Configuration,DataModel]], EntityFramework" /> 6 </context> 7 </contexts> 8 </entityFramework>
3、完事!! 注意红色高亮处哦