Я хочу создать простой проект с кодом ASP. NET MVC5, используя EF6 и Mysql, но после добавления подходящего 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>
После создания моего контроллера, представления, ... автоматически (строительные леса) и запуска проекта все выглядит хорошо, но в базе данных все иначе.
В новом проекте, после создания леса (создание автоматического c контроллера, представлений, контекста, ...), я не запустил программу !! и вместо этого я сделал: enable-migrations, add -igration createDB, update-database, и в результате было хорошо создано таблицы, и была создана __migrationhistory, но после этого, когда я запускаю проект, он говорит, что:
Модель, поддерживающая контекст 'TestContext', изменилась с момента создания базы данных. Подумайте об использовании Code First Migrations для обновления базы данных (http://go.microsoft.com/fwlink/?> LinkId = 238269)
Хорошо бы сказать, что в приложении с формой windows с использованием вышеуказанной миграции коды, у меня не было проблем с использованием кода в первую очередь для создания базы данных, таблиц и запуска программы. Но в ASP. NET MVC5 после использования вышеуказанных кодов для миграции проект не запускается, поскольку вы видите ошибку выше