我使用ASP.NET MVC 5,Entity Framework 6.我使用数据库优先方法。我创建了数据库,然后创建了ASP.NET MVC应用程序,但Entity Framework将表添加到我的数据库中,例如:_Migrationhistory
,People
(我在数据库中有自己的表Person
)。
这是我在申请中的背景:
public class DatabaseContext : DbContext
{
public DatabaseContext() : base("DatabaseContext") { }
public DbSet<Person> Persons { get; set; }
}
发生了什么事?
答案 0 :(得分:3)
EF默认情况下会创建表,除非您明确告诉它不要。关于它的更多信息here。
您可以使用以下代码禁用初始化程序:
Database.SetInitializer<DatabaseContext>(null);
样本使用:
public class DatabaseContext : DbContext
{
// This static constructor disables the initializer.
static DatabaseContext()
{
Database.SetInitializer<DatabaseContext>(null);
}
public DatabaseContext() : base("DatabaseContext") { }
public DbSet<Person> Persons { get; set; }
}