初学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
问题的背景:
初学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
相关文章推荐
- 转帖:使用BDC连接MySql可能遇到的问题
- 使用mysql中遇到的几个问题
- 今天学习使用mysql遇到的问题和解决办法
- 使用mysql遇到的问题
- 在xp和Win7上使用Tomcat 6.0经常遇到的几个问题及其解决方法
- 使用MyEclipse 6.0连接SQL 2000和2005数据库(JDBC) 遇到的问题,急需解决
- Mysql新手遇到的首要问题(使用xampp集成搭建环境)
- 使用MySQL保存中文数据时,经常会遇到乱码问题的解决思路
- MYSQL使用的时候遇到的一些问题
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- 使用mysql中遇到的几个问题
- ubuntu下安装使用mysql遇到的问题
- mysql c++ connector 1.0.5 getString方法 使用过程中遇到汉字产生的乱码问题的解决方法
- 浅谈使用Linq to sharepoint时可能遇到的2个问题
- 使用BDC连接MySql可能遇到的问题
- 好久没写东西了,手痒了,写写我使用mysql中遇到的几个问题吧
- 使用mysql可视化工具mysql-front的时候遇到软件过期问题
- 使用mysql可视化工具mysql-front的时候遇到软件过期问题
- VS2012 使用MySql的API函数连接数据库(成功), 以及使用mysql-connector-c++-1.1.3遇到的问题!
- 我在mac下使用mysql遇到的问题