C# ASP.NET MVC EF和MySQL

C# ASP.NET MVC EF和MySQL,c#,mysql,asp.net,asp.net-mvc,entity-framework,C#,Mysql,Asp.net,Asp.net Mvc,Entity Framework,我将遵循以下教程: 一切都按预期进行 但是现在我想将我的模型添加到应用程序中,但是我在连接以创建数据库时遇到了问题 这里有一个型号Note.cs: public class Note { public int Id { get; set; } public string Text { get; set; } public int Done { get; set; } } 这里是DataContext.cs public class

我将遵循以下教程: 一切都按预期进行

但是现在我想将我的模型添加到应用程序中,但是我在连接以创建数据库时遇到了问题

这里有一个型号Note.cs:

public class Note
    {
        public int Id { get; set; }
        public string Text { get; set; }
        public int Done { get; set; }
    }
这里是DataContext.cs

public class DataContext : DbContext
    {
        public DataContext()
            : base("DefaultConnection")
        {

        }

        public DbSet<Note> Note { get; set; }

        static DataContext()
        {
            Database.SetInitializer<DataContext>(
            new DropCreateDatabaseAlways<DataContext>());
        }
    }
当我登录时,一切都很完美,它为用户创建了数据库。 但是当我转到这个控制器时,我在
db.Note.Add(Note)上得到了这个错误


如何让代码根据模型创建数据库?

第一步是注释掉不支持的DBInitializer。我已经用你的代码做了一个测试,它是有效的。您可以从中获得工作示例。我已经手动创建了便笺表。

您是否可以删除DropCreateDatabaseAlways()并尝试A并添加新的DropCreateDatabaseIfModelChanges(),稍后更新数据库是的,我以前尝试过,错误完全相同
private DataContext db = new DataContext();

        public ActionResult Index()
        {
            var note = new Note { Id = 1, Text = "this is the text", Done = 0 };
            db.Note.Add(note);
            db.SaveChanges();
            ViewBag.Notes = db.Note.ToList();
            return View();
        }
An exception of type 'System.NotSupportedException' occurred in EntityFramework.dll but was not handled in user code

Additional information: Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations.