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

来源:转载

一,安装:    1、开发环境: VS2013与EF6    2、Mysql数据库为:Mysql Server 6.0    3、安装:Mysql for Visual Studio 1.1.1            下载位置:https://cdn.mysql.com/Downloads/MySQLInstaller/mysql-visualstudio-plugin-1.1.1.msi    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#代码:
 public class MyContext : DbContext { public MyContext() : base("name=MyContext") { Database.SetInitializer<MyContext>(new CreateDatabaseIfNotExists<MyContext>()); } public DbSet<Data> Datas { get; set; } } public class Data { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [Required] public string Name { get; set; } } 
操作代码:
try { var context = new MyContext(); context.Datas.Add(new Data{Name="EF6-Sql",Id=Guid.NewGuid()}); context.SaveChanges(); Console.WriteLine("Success!"); myEntities db = new myEntities(); var q = from t in db.data select t; foreach (var item in q) { Console.WriteLine("{0}--{1}",item.Id,item.Name); } } catch (Exception) { Console.WriteLine("Fail!"); }
五,ef执行结果:
六、采用Database First:    这种实现方式与在Sql server下的Database的做法是相同的,在选择数据源的时候选择mysql即可,输入登陆凭证。直接可以生成。
本文实现主要参考:http://blog.csdn.net/kmguo/article/details/19650299


分享给朋友:
您可能感兴趣的文章:
随机阅读: