我想使用EF6和Mysql创建一个简单的代码优先的ASP.NET MVC5项目,但是在将合适的Nupkg添加到我的项目并编辑了web.config,然后脚手架控制器,视图...之后,创建的数据库具有以下是两个问题:
问题:未创建_migrationhistory表,并且未分配PK列! 这是我的web.config:
<connectionStrings>
<remove name="LocalMySqlServer" />
<add name="LocalMySqlServer" connectionString="" providerName="MySql.Data.MySqlClient" />
<add name="TestContext" providerName="MySql.Data.MySqlClient" connectionString="Data Source=localhost;userid=root;password=***;database=Test_DB;Integrated Security=True;CharSet=utf8 ;" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
在创建完我的控制器,视图,...(自动脚手架)并运行该项目之后,一切看起来都不错,但是在数据库中却有所不同。
在一个新项目中,脚手架(创建自动控制器,视图,上下文等)之后,我没有运行该程序!相反,我做了: enable-migrations,add-migration createDB,update-database,结果是很好地创建了表,并且也创建了__migrationhistory,但是在那之后,当我运行该项目时,它说:
自创建数据库以来,支持“ TestContext”上下文的模型已更改。考虑使用代码优先迁移来更新数据库(http://go.microsoft.com/fwlink/?> LinkId = 238269)
可以说在Windows窗体应用程序中,使用上述迁移代码,我首先使用代码来创建数据库,表和运行程序没有问题。但是在使用上述代码进行迁移之后,在ASP.NET MVC5中,该项目无法运行,因为您看到上面的错误
答案 0 :(得分:0)
已解决- 我尝试了20次以上,并且我知道在运行程序之前,我应该启用迁移/添加迁移/更新数据库,但我不知道发生了什么,但是在运行项目后再也看不到此错误。
自创建数据库以来,支持“ TestContext”上下文的模型已更改。考虑使用代码优先迁移来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)