ASP.NET MVC - 无法创建类型为“ApplicationDbContext”的对象

ASP.NET MVC - Unable to create an object of type 'ApplicationDbContext'

提问人:Mat 提问时间:11/17/2023 更新时间:11/17/2023 访问量:26

问:

我正在创建一个主要在 Windows 机器上开发的 asp.net 应用程序,一切运行良好,没有错误。但是,当我从 git 中提取它后尝试在 Mac 上运行它时,我在尝试更新数据库时不断收到错误:

Unable to create an object of type 'ApplicationDbContext'.

我还没有适用于我的 Mac 的 sql 服务器,但如果我尝试更新数据库,我应该会收到类似以下内容的错误:

database doesn't exist

然而,失败的是 applicationDbContext。 这是我的ApplicationDbContext:

namespace ProjectFlow.Data
{
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
        { }

        public DbSet<Workspace>Workspaces { get; set; }
        public DbSet<Task> Tasks { get; set; }
        public DbSet<TaskStatus> TaskStatuses { get; set; }
        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
        }
    }
}

还有我的程序.cs

ar connectionString = builder.Configuration.GetConnectionString("DefaultConnection") ?? throw new InvalidOperationException("Connection string 'DefaultConnection' not found.");

builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(connectionString));

builder.Services.AddIdentity<ApplicationUser,IdentityRole>(options => options.SignIn.RequireConfirmedAccount = false).AddEntityFrameworkStores<ApplicationDbContext>().AddDefaultUI().AddDefaultTokenProviders();

正如我上面所说,这在我的 Windows 上完美运行,但如果有人知道原因,则不能在我的 Mac 上运行。 谢谢

asp.net asp.net-mvc

评论


答:

0赞 Akalanka Dissanayake 11/30/2023 #1

如果可以共享连接字符串示例,则更好。我希望您使用的是 LocalDB for Windows。遗憾的是,LocalDB 不适用于 Visual Studio for Mac。看一看!