我首先使用EF6(6.1.3)代码,最近注意到我的DbContext类中的OnModelCreating覆盖由于某种原因未被调用。我试图从默认约定中删除ManyToManyCascadeDeleteConvention,但由于某种原因它没有工作。当我在OnModelCreating中放置一个断点时,我注意到它甚至都没有进入那个例程。
我查看了这个问题 - EF 4.1 OnModelCreating not called - 我不知道还有一个edmx文件。直接代码在这里。
public class DashboardDbContext : DbContext
{
public DashboardDbContext()
: base("DashboardDbContext")
{
Console.WriteLine("hi world"); // breakpoint DOES get hit here
}
//...
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder); // breakpoint DOESN'T get hit here
this.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
// more stuff...
}