zoukankan      html  css  js  c++  java
  • 转载:EntityFramework 6.0< Code First > 连接 Mysql数据库

    转载自: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 { 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了。真是神奇,具体原因我还不清楚。
  • 相关阅读:
    (译+原)std::shared_ptr及std::unique_ptr使用数组
    (转+原)ipp "No dlls were found in the Waterfall procedure"
    (原)vs2013编译boost1.60库
    (原+转)VS2013:正在从以下位置加载符号
    (原)直方图的相似性度量
    (原)Opencv中直方图均衡和图像动态范围拉伸的代码
    JAVA 8 新特性 Stream API 创建
    JAVA 8 新特性 Stream API 介绍
    JAVA 8 新特性 方法引用
    JAVA 8 新特性 函数式接口
  • 原文地址:https://www.cnblogs.com/vicent/p/3968899.html
Copyright © 2011-2022 走看看