Таблица DBNAME.dbo.TableNAME не существует Entity Framework 6 с MySQL
Я использую Entity Framework 6.0.0 с MySql Server 5.6.17
Я добавил MySql.Data.Entities через nuget и установил Entity Framework 6.0.0 и MySql.Data 6.8.4.
Все было отлично настроено и отлично работало с некоторыми из моих бизнес-структур. у него включена автомиграция (true).
Позже я добавил еще несколько сущностей, а потом начал выдавать ошибку
Table 'DBNAME.dbo.TABLENAME' doesn't exist Entity Framework 6
Я попытался удалить всю базу данных и воссоздать ее снова, но это не сработало.
Я попытался обновить Entity Framework до 6.1.2 и MySql.Data до 6.9.5, но это не решило проблему, но дает некоторые другие ошибки, такие как
Method not found: 'System.Data.Entity.Migrations.Builders.TableBuilder`1<!0> System.Data.Entity.Migrations.Builders.TableBuilder`1.Index(System.Linq.Expressions.Expression`1<System.Func`2<!0,System.Object>>, System.String, Boolean, Boolean, System.Object)'.
Поэтому я изменил свои EF и MySql.Data на предыдущую версию (EF 6.0.0 и MySql.Data 6.8.4)
Я нашел еще одну статьюhttp://bugs.mysql.com/bug.php?id=69649 у которого такая же ошибка, как у меня, поэтому я изменил свой метод конфигурации, как показано ниже
public Configuration()
{
this.AutomaticMigrationsEnabled = true;
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
CodeGenerator = new MySql.Data.Entity.MySqlMigrationCodeGenerator();
AutomaticMigrationDataLossAllowed = true; // or false in case data loss is not allowed.
}
но это не решило проблему. я снова получил ту же ошибку.
Мой образец бизнес-субъекта, как показано ниже.
public class User
{
[Key]
public int UserID { get; set; }
[Display(Name = "User Email")]
[AllowHtml]
public string UserEmail { get; set; }
[MaxLength(100)]
[Required(ErrorMessage = "Enter user password")]
[Display(Name = "User Password")]
[AllowHtml]
public string UserPassword { get; set; }
[MaxLength(50)]
[Display(Name = "First Name")]
[AllowHtml]
public string FirstName { get; set; }
[MaxLength(50)]
[Display(Name = "Last Name")]
[AllowHtml]
public string LastName { get; set; }
[Display(Name = "Profile Picture")]
public string ProfilePicURL { get; set; }
public string SaltKey { get; set; }
}
Спасибо за любую помощь заранее