我尝试使用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)不存在。
非常感谢任何帮助。
附言:如果您有任何好的教程可以在ASP.NET MVC4中设置我的MySQL和EF6,那就太好了。目前,我似乎无法使用MVC4的WebSecurity帮助程序。