博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EntityFramework 6.0< Code First > 连接 Mysql数据库(转)
阅读量:5758 次
发布时间:2019-06-18

本文共 1954 字,大约阅读时间需要 6 分钟。

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
            下载位置:
 
二,引用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#代码
[csharp] 
 
  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 { getset; }  
  10.     }  
  11.     public class Data  
  12.     {  
  13.         public int Id { getset; }  
  14.         public string Name { getset; }  
  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了。真是神奇,具体原因我还不清楚。
 
 
参考:

转载于:https://www.cnblogs.com/Rising/p/3729097.html

你可能感兴趣的文章
《数据库基础及实践技术——SQL Server 2008》一1.5 关系数据库规范化理论
查看>>
《MonoTouch开发实践指南》一2.1 iOS SDK概述
查看>>
关于gcForest这篇论文 我们请教了周志华教授以下几个问题
查看>>
【深度学习之美】人工“碳”索意犹尽,智能“硅”来未可知(入门系列之二)...
查看>>
生产管理混乱,生产计划做不好?
查看>>
智能家居硬件防盗联网安全漏洞不得不防
查看>>
科达正式发布晶艳二代小间距LED屏及显控平台新品
查看>>
SDN/NFV是未来网络的关键
查看>>
俄罗斯央行遭黑客袭击 3100万美元被盗走了
查看>>
粉丝笑醒,HBO 哭死:黑客威胁泄露《权力的游戏》大结局(内附真假大结局)...
查看>>
中国工程院院士倪光南:政府应加大核心技术市场化引导
查看>>
视频直播云新趋势 打造终端+云端一体化
查看>>
PostgreSQL SQL 语言:数据类型
查看>>
《程序员度量:改善软件团队的分析学》一数据获取
查看>>
大数据正在改变制造业的7种方式
查看>>
元学习:实现通用人工智能的关键!
查看>>
做音响的Sonos,未来的野心在于智能家居音乐平台
查看>>
Skype用户抱怨“假Flash”让他们暴露于恶意软件当中
查看>>
福州两年拟建设17个新型智慧城市示范项目
查看>>
六个角度深层区分ERP和MES
查看>>