MySql Connector EF6
В качестве новичка EF я пытаюсь использовать Entity Framework 6 Code First с MySql Server 5.6, который я установил на своем компьютере разработчика.
Я сделал очень маленький тестовый консольный проект. Я добавил пакеты NuGet:
EntityFramework 6.0.2MySql.DataMySql.Data.Entities.EF6Мой App.config выглядит так:
А есть два класса:
MyContext:
public class MyContext : DbContext
{
public MyContext(DbConnection connection)
: base(connection, true)
{
}
public DbSet MyEntities { get; set; }
}
MyEntity:
public class MyEntity
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
Мой основной метод выглядит так:
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();
}
}
}
Когда я запускаю его, я получаю System.NotSupportedException:
Невозможно определить имя поставщика для фабрики поставщиков типа 'MySql.Data.MySqlClient.MySqlClientFactory», Убедитесь, что поставщик ADO.NET установлен или зарегистрирован в конфигурации приложения.
Я попытался добавить MySql.Data.MySqlClient.MySqlClientFactory в файл App.config:
Но потом я прихожу кEntity.Core ошибка:
'Пример' член типа провайдера Entity Framework 'MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, версия = 6.8.3.0, культура = нейтральная, PublicKeyToken = c5687fc88969c44d ' не возвращает объект, который наследуется от 'System.Data.Entity.Core.Common.DbProviderServices.
Что я делаю неправильно?
РЕДАКТИРОВАТЬ
Я попытался удалить пакеты NuGet (MySql.Data и MySql.Data.Entities.EF6).
Затем я установил новую версиюпрямо из MySql а теперь вышеприведенный тестовый код выполняется успешно?