http://blog.csdn.net/kmguo/article/details/19650299

网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多了。找了很久,总算是配置好了,现在分享一下。
 
一,安装:
    1、开发环境: VS2013与EF6
    2、Mysql数据库为:Mysql Server 6.0
    3、安装:Mysql for Visual Studio 1.1.1
    4、安装 Mysql Connector/Net 6.8.3 GA
            下载位置:http://dev.mysql.com/downloads/connector/net/
 
二,引用dll:
    1、采用Nuget安装EF6.0.2;
    2、采用Nuget安装MySql.Data.Entity.EF6
    注意:要采用Nuget进行安装,否则可能会缺少相应的dll或者是配置信息
三、配置 web.config或app.config
    1、将entitframework节点替代为:
 <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </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>
 
四、测试C#代码
  1. using System.Data.Entity;
  2. namespace StudyEF
  3. {
  4. public class MyContext : DbContext
  5. {
  6. public MyContext() : base("name=MyContext")
  7. {
  8. }
  9. public DbSet<Data> Datas { get; set; }
  10. }
  11. public class Data
  12. {
  13. public int Id { get; set; }
  14. public string Name { get; set; }
  15. }
  16. class Program
  17. {
  18. static void Main(string[] args)
  19. {
  20. Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());
  21. var context = new MyContext();
  22. context.Datas.Add(new Data{Name="EF6-MySql"});
  23. context.SaveChanges();
  24. }
  25. }
  26. }

五、在Mysql的cmd下查询:

 
六、采用Database First:
    这种实现方式与在Sql server下的Database的做法是相同的,但是有时会连接不上Mysql。我一开始就尝试采用Database来连接Mysql,但是在VS2013里一直无法连接到Mysql server。所以我才采用了上面的Code First。但是当我用Code Frist成功之后,我发现,我的VS2013也能够连接到Mysql server了。真是神奇,具体原因我还不清楚。
 
 

EntityFramework 6.0< Code First > 连接 Mysql数据库(转)的更多相关文章

  1. EntityFramework 6.0< Code First > 连接 Mysql数据库

    网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多了.找了很久,总算是配置好了,现在分享一下. 一,安装:     1.开发环境: VS2013与EF6 ...

  2. 转载:EntityFramework 6.0< Code First > 连接 Mysql数据库

    转载自:http://blog.csdn.net/kmguo/article/details/19650299 网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转 ...

  3. EF 6.0 Code First 迁移MySql数据库

    一.准备工作     使用NUGET安装Entity Framework 6,下载MySql Connector/Net 6.9.5   二.创建实体     我们在下面创建了两个类(博客和文章),并 ...

  4. C# 之 .net core -- EF code first连接Mysql数据库

    一.在Models 新建两个数据库类 这个是数据库需要生成的类基础(塑造外观) public class User { [Key] public string ID { get; set; } [Ma ...

  5. MVC3、如何应用EntityFramework 连接MySql 数据库

    原文:MVC3.如何应用EntityFramework 连接MySql 数据库 新的一年,新的开始. 今天总结的主题是在MySql中应用EntityFramework 的Code First模式. 开 ...

  6. VB6.0连接MySQL数据库

    VB6.0连接MySQL数据库

  7. Eclipse中利用JSP把mysql-connector-java-8.0.13.jar放到WebContent\WEB-INF\lib中连接MySQL数据库时Connection conn = DriverManager.getConnection(url,username,password)报错的解决办法

    开发环境: 1.系统:windows 7/8/10均可 2.jdk:1.8.0_144 3.服务器:apache-tomcat-9.0.8 4.IDE:eclipse+jsp 0.网页代码如下: &l ...

  8. 用MyEclipse10.0远程连接Mysql数据库服务器

    说明:本文档所有的操作均在满足以下条件的情况下操作, A.远程Linux服务器已经安装好MySQL数据库 B.本地电脑可以ping通远程服务器 C.已经成功安装了Myeclipse 一.下载mysql ...

  9. django2.0+连接mysql数据库迁移时候报错

    django2.0+连接mysql数据库迁移时候报错 情况一 错误信息 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 ...

随机推荐

  1. C#编程总结 dynamic(转)

    介绍 Visual C# 2010 引入了一个新类型 dynamic. 该类型是一种静态类型,但类型为 dynamic 的对象会跳过静态类型检查. 大多数情况下,该对象就像具有类型 object 一样 ...

  2. 一个简单的javascript深拷贝

    var extendDeep = function(parent,child){ var i, toStr = Object.prototype.toString, astr = '[object A ...

  3. Merge Sort

    #include<stdlib.h> #include<stdio.h> void Merge( int source[] , int temp[] , int start , ...

  4. 小白科普之JavaScript的数组

    一.与其他语言数据的比较    相同点:有序列表    不同点:js的数组的每一项可以保存任何类型的数据:数组的大小是可以动态调整的 二.数组创建的两种方法 1)  var colors = new ...

  5. php面试题之二——Javascript(基础部分)

    二.JavaScript部分 1. JS 表单弹出对话框函数是?获得输入焦点函数是? 弹出对话框函数:alert(), prompt(), confirm() 获得输入焦点函数:focus() 2. ...

  6. linux expect 简单讲解

    来自http://blog.csdn.net/winstary/archive/2009/08/08/4422156.aspx使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明, ...

  7. 【Python】Django Model 怎么使用 UUID 作为主键?

    >>> import uuidprint uuid.uuid3(uuid.uuid1(), 'python.org') >>> # make a UUID base ...

  8. 《转》IIS中配置通配符应用程序映射

    本文转载自龚赤兵 电子工业出版社,如给您带来不便之处,请联系博主. eb开发新体验:ASP.NET 3.5 MVC架构与实战>第13章网站部署,本章主要实现了如何在IIS 6.0中一步一步地成功 ...

  9. php字符串处理总结

    php字符串处理是php基础中重要的一部分,总结并整理了一下 1.最简单的,字符串输出单引号和双引号的区别(定义字符串用单引号和双引号都可以) $str='hello'; echo "str ...

  10. DP:Bridging Signals(POJ 1631)

    不能交叉的引脚 (这一题的难度在于读题)题目大意:有一堆引脚(signals),左边一排,右边一排,左边从上到下,对应着连接右边的引脚(所有的引脚都被接上),现在引脚之间的连线有交叉,我们要桥接这些交 ...