EF6.0 Code First使用mysql的各种错误和解决办法!!

时间:2022-03-29 19:47:56

1.修改或者添加connectionStrings

  <connectionStrings>
<add name="MvcDBContext" connectionString="Datasource=192.168.1.2;Database=MvcDB;uid=root;pwd=a123456;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

2.创建数据库时出现的的各种错误,总结有2个问题!

(1) 修改mysql的默认引擎为innodb,方法如下

修改mysql的my.cnf文件

default-storage-engine=MYISAM
改为
default-storage-engine=INNODB
如果配置文件里还有
innodb=OFF
skip-innodb
那就删除了!!

(2)这个问题是提示Specified key was too long; max key length is 767 bytes这样的错误

//给Context增加如下的注解

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class MyContext : DbContext
{
}

再记一个代码,根据代码生成数据库!!

MvcDBContext db = new MvcDBContext();
db.Database.CreateIfNotExists();//没有就创建,有就跳过
db.SaveChanges()