mysql数据库使用ef
因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySQL的连接。
第一个问题:
数据库表已建好,相应的数据库处理类已写好,然后在创建实体模型(右键Model->新建项->数据->ADO.NET实体数据模型)时没有MySQl选项,在网上搜了一圈,需要下载
mysql-for-visualstudio,网上搜的时候大家都建议下载mysql-for-visualstudio1.1.1,可是我在官网上没有找到这个版本,所以下载的是mysql-for-visualstudio1.1.4,网址是
http://dev.mysql.com/downloads/file/?id=451295,安装成功后这个问题解决了。
第二个问题:
因为我导入过一个已经编写好的web程序,如果没有安装mysql-connector-net6.8.3就没法正常的显示.edmx模型,所以我之前就安装了,没出现这方面的问题,
这位大侠在这里http://blog.csdn.net/niewq/article/details/41877301介绍的相当详细,我要提醒的就是记住你的安装目录,之后会用得到。
第三个问题:
进行到这里,我以为我可以顺利的建立模型了,没想到出现这个问题
所幸是网上有人遇到一样的问题,也就是上面的大神总结的http://blog.csdn.net/niewq/article/details/41877301
总体来说,四个步骤:
首先工具->库程序安装包->程序包管理器控制台,在PM>后输入
1 Install-Package EntityFramework -Version 6.0.0然后Enter,提示成功
2 Install-Package EntityFramework.zh-Hans -Version 6.0.0然后Enter,提示成功
3 Install-Package MySql.Data.Entity.EF6,Enter,我使用这种方法没有成功,出现了如下问题:
Install-Package
: 无法找到程序包“MySql.Data.Entity.EF6”。
所在位置 行:1 字符: 16
+ Install-Package <<<< MySql.Data.Entity.EF6
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
下面说我自己是怎么解决这个问题的
通过右键项目->添加引用->浏览,把MySQL Connector Net 6.8.3\Assemblies\v4.5下的所有dll文件引用进来,
4 在web.config里面添加provider节点即可:
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
经过这些步骤,问题解决了!!