Entity Framework 4.0现在也可以支持Mysql数据库了,这篇文章将向你展示如何用Code First的方式来实现。
1、首先新建一个项目,在项目中用NuGet添加如下引用:
2、在web.config文件中添加如下配置:
<connectionStrings>
<add name="MyTestContext" connectionString="Data Source=127.0.0.1;port=3306;Initial Catalog=Test;user id=root;password= ;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
3、新建实体类:
public class User
{
public int Id { get; set; }
[MaxLength()]
public string UserName { get; set; }
[MaxLength()]
public string Password { get; set; }
[MaxLength()]
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="" });
context.SaveChanges();
程序运行后,会自动生成数据库:
Entity Framework中DbContext会生成一张__migrationhistory表,作为使用Code Frist编程模式。
好了,一个简单的Mysql EF 的Code First就实现了!