近段时间,准备整理MVC的架框,使用EF作为ORM,连接MySQL数据库。所以,参考了网上的很多资料,归纳了在VS2015的环境下,创建EF6+MySql的类库。
工具/原料Visual Studio 2015
MySql v5.6
EntityFramework 6
方法/步骤
一、安装环境
本机OS Win7 x64
1、开发环境: VS2015与EF6
2、Mysql数据库为:mysql_installer_community_V5.6.21.1_setup.1415604646.msi
或者,直接安装MySQL Installer 5.7。我是为了与环境配套,仍是安装5.6
3、安装:mysql-for-visualstudio-2.0.4.msi
4、安装:mysql-connector-net-6.9.9.msi
5、安装:mysql-connector-odbc-5.1.13-winx64.msi
备注:本机没有安装MySql Server,仅安装mysql-workbench-community-6.3.8-winx64.msi连接服务器
二、重启VS2015后,在菜单栏或工具栏上单击鼠标右键可以在右键菜单上看到“Mysql”的项,单击之,工具栏即出现Mysql相关的工具按钮。这些工具可以可视化操作Mysql数据库。
三、如果,“Mysql”的选项没有显示出来。有可能是mysql-for-visualstudio程序没有配置好。或版本没有选对。
处理:
1. 到控制面板的程序中找到MYSQL FOR VISUAL STUDIO 程序, 右键选择更改/change
2. 在弹出窗的具体组件中,勾选Visual studio对应的版本, 然后一路下一步
四、这时,开发环境准备完毕。开始创建EF+MySql项目。
1、创建一个Class类库,存放DAL的文件
2、采用Nuget方式,安装EF6.0.2、MySql.Data、MySql.Data.Entity.EF6三个安装包
3、安装完成后会多出4项引用。
4、添加 http://ADO.NET 实体数据模型,选择“来自数据库的 EF设计器”---称为DB First
5.选择需要的表,点击“完成”
备注:
如果,选择的是“来自数据库的 Code First“,则会自接创建数据表对应的实体类。
五、创建测试应用程序。
采用Nuget方式,安装EF6.0.2、MySql.Data、MySql.Data.Entity.EF6三个安装包
配置 web.config或app.config(这些设置,一般由安装安装包时,自动产生。需要修改的connectionStrings)
1、将entitframework节点替代为:
2、添加 ConnectionString节点
3、添加DbProviderFactories
2、创建MyContext类。注意的是name要与config中的connectionStrings对应
public class MyContext : DbContext
{ public MyContext()
: base("name=MyContext")//web.config中connectionstring的名字
{
}
public DbSet Users { get; set; }
}
3、测试入口
class Program
{
static void Main(string[] args)
{
using (var ctx = new MyContext())
{
var provincelist = ctx.Database.SqlQuery("SELECT * FROM users");
foreach (var province in provincelist)
{
Console.WriteLine("{0}-{1}{2}", province.Email, province.FirstName, province.LastName);
}
}
}
}