Złącze MySql EF6

Jako EF noob próbuję użyć najpierw kodu Entity Framework 6 z MySql Server 5.6, który zainstalowałem na moim komputerze programistycznym.

Zrobiłem bardzo mały projekt konsoli testowej. Dodałem pakiety NuGet:

EntityFramework 6.0.2MySql.DataMySql.Data.Entities.EF6

Moja aplikacja App.config wygląda tak:

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
        <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
    </providers>
</entityFramework>

Masz dwie klasy:

MyContext:

public class MyContext : DbContext
{
    public MyContext(DbConnection connection)
        : base(connection, true)
    {
    }

    public DbSet<MyEntity> MyEntities { get; set; }
}

MyEntity:

public class MyEntity
{
    [Key]
    public int Id { get; set; }

    public string Name { get; set; }
}

Moja główna metoda wygląda tak:

static void Main(string[] args)
{
    using (MySqlConnection conn = new MySqlConnection("Server=127.0.0.1;Database=calibrationtest;Uid=calibration;Pwd=*******"))
    {
        using (MyContext context = new MyContext(conn))
        {
            context.MyEntities.Add(new MyEntity()
            {
                Name = "1234"
            });

            context.SaveChanges();
        }
    }
}

Po uruchomieniu otrzymuję wyjątek System.NotSupportedException:

Nie można określić nazwy dostawcy dla fabryki dostawców typu „MySql.Data.MySqlClient.MySqlClientFactory”. Upewnij się, że dostawca ADO.NET jest zainstalowany lub zarejestrowany w konfiguracji aplikacji

Próbowałem dodać MySql.Data.MySqlClient.MySqlClientFactory do App.config:

<provider invariantName="MySql.Data.MySqlClient.MySqlClientFactory" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"></provider>

Ale potem docieram doEntity.Core Pluskwa:

Element „Instancja” typu dostawcy Entity Framework „MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version = 6.8.3.0, Culture = neutral, PublicKeyToken = c5687fc88969c44d” nie zwrócił obiektu dziedziczącego z „System.Data .Entity.Core.Common.DbProviderServices ”.

Co ja robię źle?

EDYTOWAĆ

Próbowałem usunąć pakiety NuGet (MySql.Data i MySql.Data.Entities.EF6)

Następnie zainstalowałem nową wersjębezpośrednio z MySql a teraz powyższy kod testowy działa poprawnie?

questionAnswers(4)

yourAnswerToTheQuestion