我如何创建一个 class 库项目来处理我在 entity framework 核心 2.2 中的迁移和数据库对象?

How do i create a class library proejct to handle my migrations and database objects in entity framework core 2.2?

我创建了一个 .net core 2.2 web mvc 应用程序。然后我创建了一个 .net core 2.2 class 库来包含我所有的数据库模型。尝试 运行 初始迁移时,出现错误无法创建 'X'.

类型的对象

我在主 Web 项目中引用了我的 class 库,将其设置为启动,在包管理器控制台中,我将默认项目设置为 class 库。

我希望这会创建我的迁移,但我收到了这个错误。

public class ProjectWalesDbContext : DbContext
{
    public ProjectWalesDbContext(DbContextOptions<ProjectWalesDbContext> options)
     : base(options)
    { }

    public DbSet<User> Users { get; set; }

    public DbSet<UserCourse> UserCourses { get; set; }

    public DbSet<Course> UserCourse { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>()
            .Property(b => b.created_at)
            .HasDefaultValueSql("getdate()");
        modelBuilder.Entity<User>()
           .Property(b => b.password_reset_date)
           .HasDefaultValueSql("getdate()");
        modelBuilder.Entity<User>()
          .Property(b => b.password_reset_required)
          .HasDefaultValueSql("0");

        modelBuilder.Entity<UserCourse>()
          .Property(b => b.course_progress)
          .HasDefaultValueSql("0");
    }
}

这是我设置的数据库上下文,我在其他项目中以相同的方式设置它,所以我看不出我做错了什么。任何帮助将不胜感激

已解决,我需要添加以下行:

services.AddDbContext<ProjectWalesDbContext>(item => item.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

到网络应用程序的启动,以便我可以创建上下文。