.net 连接mysql_VS2015 + EF6连接MYSQL5.6

本文介绍了如何在VS2015环境下使用EF6连接到MySQL5.6数据库,包括配置MySQL工具,创建EF+MySQL项目,安装必要的NuGet包,设置数据模型,并在web.config中配置连接字符串。最后,创建测试应用程序以验证连接成功。
摘要由CSDN通过智能技术生成

54da28aa399d40852c1c918befc9b6be.png

【原文】VS2015 + EF6连接MYSQL5.6

近段时间,准备整理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节点替代为:

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
    </providers>
  </entityFramework>

2、添加 ConnectionString节点

<connectionStrings>
    <add name="MyContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=数据库名称;user id=Mysql的登录用户名;password=Mysql server密码;" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>

3、添加DbProviderFactories

<DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  1. 2、创建MyContext类。注意的是name要与config中的connectionStrings对应
public class MyContext : DbContext
    {        public MyContext()
            : base("name=MyContext")//web.config中connectionstring的名字
        {
        }

        public DbSet<users> Users { get; set; }
    }


3、测试入口

class Program
        {
            static void Main(string[] args)
            {
                using (var ctx = new MyContext())
                {
                    var provincelist = ctx.Database.SqlQuery<users>("SELECT * FROM users");
                    foreach (var province in provincelist)
                    {
                        Console.WriteLine("{0}-{1}{2}", province.Email, province.FirstName, province.LastName);
                    }
                }
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值