最近有不少用戶反應(yīng),使用EF時(shí)出現(xiàn)了連接mysql的問題。其實(shí),這是EF并沒有直接支持mysql造成的。我們需要在項(xiàng)目中手動(dòng)添加對(duì)mysql的支持。
首先,我們需要下載Mysql.Data和Mysql.Data.Entity.EF6這兩個(gè)NuGet包。在Package Manager Console中依次運(yùn)行以下兩條命令:
Install-Package MySql.Data Install-Package MySql.Data.Entity.EF6
然后,在我們的DbContext類中做出如下修改:
public class MyDbContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().ToTable("students"); base.OnModelCreating(modelBuilder); } public DbSet Students { get; set; } public MyDbContext() : base("MySqlServer") { } static MyDbContext() { DbConfiguration.SetConfiguration(new MySqlEFConfiguration()); } }
我們?cè)贒bContext的構(gòu)造函數(shù)中添加了一個(gè)MySqlServer參數(shù),這個(gè)參數(shù)是我們?cè)趙eb.config中定義的數(shù)據(jù)庫(kù)連接字符串。
最后,在web.config中添加以下內(nèi)容:
這里,我們添加了一個(gè)名為MySqlServer的數(shù)據(jù)庫(kù)連接字符串,它連接到了localhost上的mydb數(shù)據(jù)庫(kù),并使用root賬戶登錄并設(shè)置了密碼。
完成以上步驟后,我們就可以愉快地在EF中使用mysql數(shù)據(jù)庫(kù)了。