I am using Entity Framework 6.0.0 with MySql Server 5.6.17
I have added MySql.Data.Entities through nuget and it installed Entity Framework 6.0.0 and MySql.Data 6.8.4
Everything was setup perfectly and working fine with some of my Business Entities. it have automigration enabled(true).
Later i have added some more entities and then it started giving error like
Table 'DBNAME.dbo.TABLENAME' doesn't exist Entity Framework 6
I have tried deleting whole database and recreate it again, but it didn't worked.
I have tried updating Entity Framework to 6.1.2 and MySql.Data to 6.9.5 but it did not solved problem but gives some other error like
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)'.
So i changed my EF and MySql.Data to previous version(EF 6.0.0 And MySql.Data 6.8.4)
I found one more article http://bugs.mysql.com/bug.php?id=69649 who has same error like me so i modified my configuration method as below
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.
}
but it did not solved issue. i got same error again.
My Sample Business Entity is as below.
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; }
}
Thanks for any help in advance