我尝试使用EF6和MySQL。我确信我与数据库的连接正常,因为存在首选的数据库模式。但是,只存在__migration表。
我有以下代码
我的模特
[Table("my_model")]
public class ModelA
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ModelAId { get; set; }
public string ModelAProperty { get; set; }
}
我的DBContext
public class ModelAContext : DbContext
{
public ModelAContext() : base("DefaultConnection")
{
}
static ModelAContext()
{
Database.SetInitializer( new DropCreateDatabaseIfModelChanges<ModelAContext>());
}
public DbSet<ModelA> MyModels { get; set; }
}
我的初始化程序
// Assuming this is run during the application initialization
public static void InitializeDB()
{
using (var context = new ModelAContext())
{
if (!context.Database.Exists())
{
// Create the SimpleMembership database without Entity Framework migration schema
((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
}
context.Database.CreateIfNotExists();
}
}
未创建ModelA的相应表。 我总是得到一个MySQL异常,其中一个表(在这种情况下是app.my_model)不存在。
非常感谢任何帮助。
P.S。如果您有任何可以在ASP.NET MVC4中设置我的MySQL和EF6的好教程,那就太棒了。截至目前,我似乎无法使用MVC4的WebSecurity助手。
答案 0 :(得分:1)
在Global.asax和
中 AppDbContext db = new AppDbContext();
db.Database.Initialize(true);