首先是 EF6 代码的问题,然后是 ASP.NET MVC5 中的 Mysql
Problem with EF6-code first and Mysql in ASP.NET MVC5
我想使用 EF6 和 Mysql 创建一个简单的代码优先 ASP.NET MVC5 项目,但是在将 suitable Nupkg 添加到我的项目并编辑 web.config 之后然后脚手架控制器,视图,...,创建的数据库有两个问题如下:
问题:未创建 _migrationhistory table 并且未分配 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>
自动创建我的控制器、视图...(脚手架)并 运行ning 项目后,一切看起来都很好,但在数据库中情况有所不同。
在一个新项目中,在脚手架(创建自动控制器、视图、上下文...)之后,我没有运行程序!!相反,我做了:
enable-migrations, add-migration createDB,update-database ,结果很好地创建了 tables 并且也创建了 __migrationhistory,但是之后当我 运行 项目时,它说那:
The model backing the 'TestContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?>LinkId=238269)
很高兴地说,在 windows 表单应用程序中,使用上面的迁移代码,我使用代码优先创建数据库没有问题,tables 和 运行程序。但是在 ASP.NET MVC5 中使用上面的代码进行迁移后,项目并没有 运行 正如你看到上面的错误
已解决-
我尝试了 20 多次,我明白在 运行 程序之前,我应该 enable-migration/add migration/update-database- 我不知道发生了什么,但在 [= 之后我没有看到这个错误15=] 项目。
The model backing the 'TestContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)
我想使用 EF6 和 Mysql 创建一个简单的代码优先 ASP.NET MVC5 项目,但是在将 suitable Nupkg 添加到我的项目并编辑 web.config 之后然后脚手架控制器,视图,...,创建的数据库有两个问题如下:
问题:未创建 _migrationhistory table 并且未分配 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>
自动创建我的控制器、视图...(脚手架)并 运行ning 项目后,一切看起来都很好,但在数据库中情况有所不同。
在一个新项目中,在脚手架(创建自动控制器、视图、上下文...)之后,我没有运行程序!!相反,我做了: enable-migrations, add-migration createDB,update-database ,结果很好地创建了 tables 并且也创建了 __migrationhistory,但是之后当我 运行 项目时,它说那:
The model backing the 'TestContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?>LinkId=238269)
很高兴地说,在 windows 表单应用程序中,使用上面的迁移代码,我使用代码优先创建数据库没有问题,tables 和 运行程序。但是在 ASP.NET MVC5 中使用上面的代码进行迁移后,项目并没有 运行 正如你看到上面的错误
已解决- 我尝试了 20 多次,我明白在 运行 程序之前,我应该 enable-migration/add migration/update-database- 我不知道发生了什么,但在 [= 之后我没有看到这个错误15=] 项目。
The model backing the 'TestContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)