欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

EntityFramework 6.0< Code First > 连接 Mysql数_MySQL

程序员文章站 2022-06-04 16:46:30
...
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

下载位置: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节点替代为:

2、添加 ConnectionString节点:

四、测试C#代码

[csharp] view plaincopyEntityFramework 6.0&lt; Code First &gt; 连接 Mysql数_MySQLEntityFramework 6.0&lt; Code First &gt; 连接 Mysql数_MySQL

  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 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());
  21. var context = new MyContext();
  22. context.Datas.Add(new Data{Name="EF6-MySql"});
  23. context.SaveChanges();
  24. }
  25. }
  26. }
五、在Mysql的cmd下查询:EntityFramework 6.0&lt; Code First &gt; 连接 Mysql数_MySQL

六、采用Database First:

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

参考:http://www.nzmk.com/Blogs/BlogsView/tabid/83/EntryId/8/MVC5-EF6-ContosoUniversity-code-first-approach-using-MySQL.aspx