asp.net api:尚未为此dbcontext配置任何数据库提供程序

5us2dqdw  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(232)

我正在尝试从.net核心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 使用无参数构造函数。

qnzebej0

qnzebej01#

让我们试试别的:
首先,在dbcontext中创建 OnConfiguring 方法:

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

第二,关于你的开始 ConfigureServices 方法,按以下方式配置dbcontext:

services.AddDbContext<MyContext>();

相关问题