win8.1系统+VS2012+mysql6.0+mysql-connector-net-6.6.6 开发环境,在通过EF连接Mysql时采用DbFirst方式,生成的实体数据模型却是空的,没有对应的实体模型。
在“输出”中报错:
在网上查询“Unknown column 'DATETIME_PRECISION' in 'field list'” 错误也没找到适合的答案,第一次通过EF连接mysql数据库,对mysql的操作不是很清楚,求各位大牛给一些指点。
这是MYSQL 6.0版本才会出现的问题,以下链接说明了解决方案
http://forums.devart.com/viewtopic.php?f=31&t=24488
Thank you for the additional information. We have reproduced this issue with the MySQL server 6.0.10-alpha-community (as well as with 6.0.3). However, this issue is not reproducible with the 4.0.21, 5.6.10 versions of MySQL server, etc.
We will investigate this behavior and inform you about the results as soon as any are available.
The bug related to the "Unknown column 'DATETIME_PRECISION' in 'field list'" error when creating model for MySQL 6.0.10-alpha-community is fixed.
New build of LinqConnect 4.2.247 is available for download now!
It can be downloaded from http://www.devart.com/linqconnect/download.html (trial version) or from Registered Users' Area (for users with active subscription only).
For more information, please refer to http://forums.devart.com/viewtopic.php?f=31&t=27137.
我把Mysql卸载后安装了5.6版本,还是出现这个问题。你上面介绍的这个软件LinqConnect 4.2.247 是收费的,等下试试效果怎样。
@酷小孩: 估计就是MYSQL的新特性造成的问题,刚刚GOOGLE出来那个是第三方软件,问题和Entity Framework一样,那估计应该是MySQL造的孽。
@爱编程的大叔: 我又在mysql的官网上下载了mysql-installer-community-5.6.21.1 安装包,经过测试现在可以自动生成实体模型了,我也搞不明白到底是怎么回事,不过,也要多谢你的帮助了。我一开始是嫌官网的这个安装包太大了,一直不敢下载,所以在其他地方找的几十兆的mysql安装包,也不知道是不是这个原因。
这里我也详细的说明一下,以便帮助到更多的朋友。官网下载:
直接安装就可以,我选择安装的几个:因为之前已经安装了mysql-connector-net-6.6.6,在安装这个安装包时就没有选择6.9.3的版本。我现在的Mysql版本是5.6.0-m4-win32的版本,不知道mysql6.0的版本安装后如何,等我测试之后再来补充。
从官网下载 mysql-installer-community-5.6.21.1 安装包,然后按照步骤安装。下面是我安装测试可行后所选的几项。
通过我在安装有Mysql 6.0.11版本的开发环境下测试,发现 "Unknown column 'DATETIME_PRECISION' in 'field list'" 这个问题确实是和mysql的6.0版本有关。其他条件都相同的情况下,mysql6.0.11就会因为这个错误而无法生成数据实体模型。还要注意的一点就是,如果你在安装完上面这三个(Connector/ODBC不知道是不是必须的)之后,如果在选择连接时没有“Mysql database”选项,那么就重新安装Connector/Net。可能的原因是Connector/NET和Mysql for visualStudio 两者的安装顺序错误导致没有安装上。再者,如果你安装步骤把上面的几个安装好之后还是不行,第一,检查你的Mysql版本是不是5.6,这里还是建议大家按照步骤来,安装默认的5.6.21版本的Mysql;第二,安装Connector/NET的6.6.6版本。上面的Mysql Installer安装包默认安装的Connector/NET是6.9.4的版本,所以如果高版本不行,可以试一下低版本的。
我的另一台经测试后可行的开发环境下的版本:
VS2013+Mysql5.6.21+connector/net6.6.6+mysql for visual studio1.2.3+connector/odbc5.3.4 Connector/ODBC暂不知道是不是要必须安装。