Rising

自我学习记录,方便使用时查找。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  125 随笔 :: 0 文章 :: 32 评论 :: 82万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

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#代码
[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
 
  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了。真是神奇,具体原因我还不清楚。
 
 
posted on   Rising  阅读(2851)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· 从 Windows Forms 到微服务的经验教训
历史上的今天:
2013-05-15 16个Javascript的Web UI库、框架及工具包(2010年)
点击右上角即可分享
微信分享提示