您的位置:首页 > 数据库 > MySQL

初学Entity Framework 6.0 与 MySQL共同使用遇到的2个问题

2015-03-29 12:55 591 查看
这是困扰我好久的问题,一直在网上搜索没有找到合适的答案。请某些大侠帮助指定一下,非常感谢。

问题的背景:
初学Entity Framework6.0,想尝试Code First这种开发理念,以《使用Entity Framework 4进行代码优先开发》作为学习的教材,并一步一步去尝试。唯一的区别:作者是使用SQL Server ce4.0 作为数据库,而我是使用MySQL作为数据库。
――――――――注:因整个工程过大,仅附上部分源代码

遇到的问题:
1,启动程序,Entity Framework 会自动连接MySQL服务器区创建数据库。在创建数据库的时候,会报错:Specified key was too long; max key length is 767 bytes. 实际上,数据库已经创建成功。





2,当我再一次启动程序,又遇到不一样的错误:Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations. 如果去MySQL删除数据库,又回到第一个错误。




个人的思路:
第一个错误,从网上的资料来看,和字符集有关系。对此,我检查了my.ini 文件,配置如下:
------------------------------------------------
# 设置mysql的安装目录
basedir=G:\eDoctor\installedsoft\mysql-5.6.22-winx64
# 设置mysql数据库的数据的存放目录
datadir=G:\eDoctor\installedsoft\mysql-5.6.22-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
------------------------------------------------
对于第二个错误,尽管手工删除数据库可以解决此问题,但我不可能每一次启动程序之前都做同样的错误,肯定有更加彻底的办法。
所用到的资料:
1,How to start using Entity Framework 6 with MySQL databases
http://forums.mysql.com/read.php?174,601264,601264(了解Entity Framework 怎么和MySQL一起工作

2,New Embedded Database Support with ASP.NET(了解SQL Server CE4.0)
http://weblogs.asp.net/scottgu/new-embedded-database-support-with-asp-net
3,Entity Framework Providers for EF6(了解Entity Framwork 支持哪些数据库驱动)
https://msdn.microsoft.com/en-us/data/jj730568
4,其他 http://www.cnblogs.com/StudyLife/archive/2013/07/15/3192205.html http://www.cnblogs.com/TomXu/archive/2011/11/25/2263225.html
http://blog.sina.com.cn/s/blog_4027f79a0100mf0v.html
http://database.51cto.com/art/201010/229167.htm
本文出自 “CTO-360” 博客,请务必保留此出处http://penzhaohui.blog.51cto.com/3311602/1626136
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: