EF6不会先创建任何带代码的表

时间:2015-10-22 12:35:59

标签: mysql asp.net-mvc entity-framework mysql-connector

必备条件:带有Entity Framework 6和MySQL的ASP MVC 5.

因此,在visual studio 2013中,我创建了一个新的asp mvc 5项目,并使用NuGet安装了以下数据包:

  • EntityFramework(6.1.3)
  • MySql.Data(6.9.8)
  • MySql.Data.Entity(6.9.8)
  • MySql.Web(6.9.8)

我已经按照本教程Getting Started with Entity Framework 6 Code First using MVC 5:我创建了模型,上下文,种子ecc ......并将连接字符串设置为:

int const x

现在,当我尝试访问学生索引页面时,我有以下例外:

<add name="SchoolContext" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;user id=root;password=passwtest;persistsecurityinfo=True;database=dbtest"/>

我看到数据库和实体框架没有在dbtest架构中创建任何表。为什么?

1 个答案:

答案 0 :(得分:1)

这几乎总是由于使用了错误的初始化程序。将DropCreateDatabaseIfModelChanges替换为DropCreateDatabaseAlways或CreateDatabaseIfNotExists等其他内容。 http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx