ASP.NET WebAPI DbContext-无法创建类型的对象/未配置任何数据库提供程序



我一直在学习本教程:YT教程(从我的问题开始(,但我在.NET6上。当我添加迁移时,我可以得到两个错误:

  • 尚未为此DbContext配置数据库提供程序(…(
  • 无法创建"PmrDbContext"类型的对象。(…(<-如果我省略了默认构造函数,就会发生这种情况

Program.cs:

var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
var app = builder.Build();
string connectionString = builder.Configuration.GetConnectionString("DevConnection");
builder.Services.AddDbContext<PmrDbContext>(options => options.UseSqlServer(connectionString));

PmrDbContext.cs:

public class PmrDbContext : DbContext
{
// default constructor there - one or the other error
public PmrDbContext(DbContextOptions<PmrDbContext> options) : base(options)
{
}
public DbSet<Employee> Employees { get; set; }
}

ConnectionString:

"ConnectionStrings": {
"DevConnection": "Server=(local)\sqlexpress;Database=PMRHomeDB;Trusted_Connection=True;MultipleActiveResultSets=True;"
}

我需要先创建一个数据库吗?这不是一个代码优先的EF解决方案吗?

在Build((之后不可能更改Services,所以我将AddDbContext移到了它之前,同时在我的DbContext类中省略了默认构造函数。

string connectionString = builder.Configuration.GetConnectionString("DevConnection");
builder.Services.AddDbContext<PmrDbContext>(options => options.UseSqlServer(connectionString));
var app = builder.Build();

我负责这个项目,它正在发挥作用。此外,添加迁移也以这种方式工作。

相关内容

最新更新