ASP.NET API:没有为此DbContext配置数据库提供程序

时间:2018-09-12 12:31:31

标签: c# mysql asp.net-web-api .net-core

我正在尝试从.Net Core API项目连接到MySql数据库。

这是我的上下文类:

public class MyContext : DbContext
{
    public MyContext() { }

    public MyContext(DbContextOptions<MyContext> options)
         : base(options) { }

    public MyContext(DbContextOptions options)
         : base(options) { }

        ...
}

这是我的 startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    string MyConnectionString = "server=localhost;port=3306;user=root;password=*****;database=my_db";
    services.AddDbContext<MyContext>(options => options.UseMySQL(MyConnectionString));
}

我知道这个问题已经被问了一百万遍了,但我仍然无法解决。

编辑:在控制器中,我使用无参数构造函数实例化MyContext

1 个答案:

答案 0 :(得分:3)

让我们尝试其他事情:

首先,在您的DbContext中创建OnConfiguring方法:

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder
           .UseMYSQL("... connection string ...");           
    }

第二,在您的ConfigureServices方法的开始,以这种方式配置DbContext:

services.AddDbContext<MyContext>();