Entity Framework With Mysql 之Code First

  Entity Framework 4.0现在也可以支持Mysql数据库了,这篇文章将向你展示如何用Code First的方式来实现。  

  1、首先新建一个项目,在项目中用NuGet添加如下引用:

  

     2、在web.config文件中添加如下配置:  

1 <connectionStrings>
2     <add name="MyTestContext" connectionString="Data Source=127.0.0.1;port=3306;Initial Catalog=Test;user id=root;password= ;" providerName="MySql.Data.MySqlClient" />
3 </connectionStrings>

  3、新建实体类:

public class User
    {
        public int Id { get; set; }
        [MaxLength(50)]
        public string UserName { get; set; }
        [MaxLength(50)]
        public string Password { get; set; }
        [MaxLength(50)]
        public string Email { get; set; }
    }

  4、创建EF的数据上下文,注意此类要继承DbContext 

public class EFMysqlContext:DbContext
    {
        public EFMysqlContext()
            : base("name=MyTestContext")//此处的name为web.config中的数据库连接字符串  
      { }
    
public DbSet<User> Users { get; set; }
}

完成上述操作后,你就可以在前台调用了,如果不存在数据库Test,EF会创建数据库。前台调用方法如下:

var context = new EFMysqlContext(); 
            context.Users.Add(new User { UserName = "wilbur",Password="123456" });
            context.SaveChanges();

程序运行后,会自动生成数据库:

Entity Framework中DbContext会生成一张__migrationhistory表,作为使用Code Frist编程模式。

好了,一个简单的Mysql EF 的Code First就实现了!

原文地址:https://www.cnblogs.com/hesitate/p/4524748.html