mysql ef6 provider_MySql连接器EF6

bd96500e110b49cbb3cd949968f18be7.png

As a EF noob I am trying to use Entity Framework 6 Code First with a MySql Server 5.6 which I installed on my development computer.

I have made a very small test console project. I have added the NuGet packages:

EntityFramework 6.0.2

MySql.Data

MySql.Data.Entities.EF6

My App.config looks like this:

A have two classes:

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; }

}

My main method looks like this:

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();

}

}

}

When I run it I get a System.NotSupportedException:

Unable to determine the provider name for provider factory of type

'MySql.Data.MySqlClient.MySqlClientFactory'. Make sure that the

ADO.NET provider is installed or registered in the application config

I tried to add MySql.Data.MySqlClient.MySqlClientFactory to the App.config:

But then I arrive at the Entity.Core Bug:

The 'Instance' member of the Entity Framework provider type

'MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0,

Culture=neutral, PublicKeyToken=c5687fc88969c44d' did not return an object

that inherits from 'System.Data.Entity.Core.Common.DbProviderServices'.

What am I doing wrong?

EDIT

I tried removing the NuGet Packages (MySql.Data and MySql.Data.Entities.EF6)

Then I installed the new version directly from MySql and now the above test code runs successfully?

解决方案

you must keep both config sections,

like this

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值