今天研究了一下如何使用EF框架连接Mysql数据库。
准备工作:
1、首先需要下载两个驱动,用来支持vs的EF连接Mysql。
a)、mysql-connector-net-8.0.27.msi(提取码:i9dy)
b)、mysql-for-visualstudio-1.2.10.msi(提取码:0hc3)。
2、使用VS新建一个解决方案,一个web项目,一个类库。
在类库这个项目中引入nuget包:EntityFramework(版本号6.4.4)
MySql.Data(版本号:8.0.27)
MySql.Data.EntityFramework(版本号:8.0.27)
版本号不匹配会出现框架不兼容问题。此文中均引用的是当下最新框架。(EntityFramework.zh-Hans引用的是6.2.0,因为与最新版本EntityFramework版本号不兼容,所以移除了,目前没有发现什么问题)。
3、准备工作做好之后,在类库中添加一个实体模型
选择更新向导的时候要选择MysqlDatabase,如下图:
点击确定,即可生成对应的实体类型。同时app.config中会自动生成一个数据库连接配置:
<add name="XxEntities" connectionString="metadata=res://*/DbModel.XxEntities.csdl|res://*/DbModel.XxEntities.ssdl|res://*/DbModel.XxEntities.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;persistsecurityinfo=True;database=xx"" providerName="System.Data.EntityClient" />
至此,已成功生成一个edmx文件。EF框架可以正常访问Mysql数据库了。