EF6.0 Code First使用mysql的各种错误和解决办法!!
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()