无法创建“DBContext”类型的对象。对于设计时支持的不同设计模式,

问题描述 投票:0回答:1

当我使用 .net 7 在 Visual Studio 中为 DBContext 添加迁移时,我遇到了此错误:

访问 Microsoft.Extensions.Hosting 服务时发生错误。在没有应用程序服务提供商的情况下继续。错误:无法从文件“C:\Users\User\VIsualStudioProject\Proj1\Proj1Project ppsettings.Development.json”加载配置。 无法创建“Proj1DBContext”类型的对象。有关设计时支持的不同模式,请参阅 https://go.microsoft.com/fwlink/?linkid=851728

我想知道如何解决这个问题?

我的appsettings.json:

"AllowedHosts": "*",
"ConnectionStrings": {
  "Proj1DbConnectionString": "Server=User\\SQLEXPRESS;Database=Proj1DbContext;Trusted_Connection=True;TrustServerCertificate=Yes"
}

我的程序.cs:

builder.Services.AddDbContext<Proj1DBContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("Proj1DbConnectionString")));

我的 Proj1DBContext.cs:

 public class Proj1DBContext : DbContext
 {
  
     public Proj1DBContext(DbContextOptions options) : base(options)
     {
     }

     public DbSet<Post> Posts { get; set; }
     public DbSet<Hashtag> Hashtags { get; set; }

 }

我尝试将我的program.cs修改为:

builder.Services.AddDbContext<EveryoneShareDBContext>();

并在我的 dbcontext.cs 中添加一个构造函数,如下所示:

public Proj1DBContext(){}

但是随后我将面临一个新的错误,如下所示:

尚未为此 DbContext 配置数据库提供程序。可以通过重写“DbContext.OnConfiguring”方法或在应用程序服务提供程序上使用“AddDbContext”来配置提供程序。如果使用“AddDbContext”,则还要确保您的 DbContext 类型在其构造函数中接受 DbContextOptions 对象,并将其传递给 DbContext 的基本构造函数。

有什么帮助吗?

.net sql-server dbcontext .net-7.0
1个回答
0
投票

Proj1DBContext.cs 中缺少

<Proj1DBContext>
。 尝试以下。

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

     public DbSet<Post> Posts { get; set; }
     public DbSet<Hashtag> Hashtags { get; set; }

 }
© www.soinside.com 2019 - 2024. All rights reserved.