前面有说明使用EF动态新建数据库与表,数据库使用的是SQL SERVER2008的,在使用MYSQL的时候还是有所不同
一、添加 EntityFramework.dll ,System.Data.Entity.dll ,MySql.Data, MySql.Data.Entity.EF6
注意:Entity Framework5.0.0(好像最新的6.X是不支持mysql的)
二、添加dll文件,可以使用“管理NuGet程序包”或者“Nuget程序包管理控制台”添加
与 控制台平台添加
以下为控制台平台安装dll语句
EntityFramework.dll : Install-Package EntityFramework -Version 5.0.0
MySql.Data : Install-Package MySql.Data -Version 6.9.12
MySql.Data.Entity:Install-Package MySql.Data.Entity -Version 6.9.12
三、在app.config文件中添加connectionStrings
源文件
四、添加类
[Table("Student")]
public class Student
{
public Student()
{
}
[Key]
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime AddTime { get; set; }
}
[Table("Standard")]
public class Standard
{
public Standard()
{
}
public int StandardId { get; set; }
public string StandardName { get; set; }
public DateTime AddTime { get; set; }
}
添加SchoolContext 继承DbContext
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class SchoolContext : DbContext
{
public SchoolContext()
: base("name=conncodefirst")
{
}
static SchoolContext()
{
DbConfiguration.SetConfiguration(new MySql.Data.Entity.MySqlEFConfiguration());
}
public DbSet Students { get; set; }
public DbSet Standards { get; set; }
//protected override void OnModelCreating(DbModelBuilder modelBuilder)
//{
// base.OnModelCreating(modelBuilder);
//}
}
最后调用
SchoolContext dbCOntext = new SchoolContext();
//dbCOntext.Database.
bool flag = dbCOntext.Database.CreateIfNotExists();
Student stud = new Student() { StudentName = "New Student", AddTime = DateTime.Now };
dbCOntext.Students.Add(stud);
dbCOntext.SaveChanges();
结果