我在.NET 5中创建了REST API,一切都运行得很好,但是最近我转到了.NET 6,发现没有startup.cs类。既然没有startup.cs,我该如何在.NET 6中添加DB Context呢?
wn9m85ua1#
在.NET 6中,Microsoft删除了Startup.cs类。只需转到program.cs文件,在那里您可以添加一个连接字符串,然后您必须使用builder.Services.AddDbContext。旧方法是服务。AddDbContext只要使用builder.Services,然后你就可以实现你想要的。
builder.Services.AddDbContext
builder.Services
zdwk9cvp2#
在.NET 6中,他们将Startup.cs和Program.cs统一到Program.cs中。现在注册中间件、服务、身份验证,并将DbContext和其他所有内容添加到Program.cs文件中。下面是Program.cs文件的示例:
Startup.cs
Program.cs
using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); //Register services here builder.Services.AddControllersWithViews(); builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer( builder.Configuration.GetConnectionString("DefaultConnection") )); //builder.Services.AddAuthentication(...) var app = builder.Build(); //Register middleware here //app.UseAuthentication(); app.MapGet("/", () => "Hello World!"); app.Run();
有关visit this线程的详细信息。
de90aj5v3#
对于那些试图添加 transient 、单例或作用域服务的人来说,要清楚......以前,在Startup.cs中,添加服务类似于:
public void ConfigureServices(IServiceCollection services) { services.AddTransient<IEmailService, EmailService>(); }
现在,在Program.cs中,它看起来如下所示:
var builder = WebApplication.CreateBuilder(args); builder.Services.AddTransient<IEmailService, EmailService>();
3条答案
按热度按时间wn9m85ua1#
在.NET 6中,Microsoft删除了Startup.cs类。只需转到program.cs文件,在那里您可以添加一个连接字符串,然后您必须使用
builder.Services.AddDbContext
。旧方法是服务。AddDbContext只要使用
builder.Services
,然后你就可以实现你想要的。zdwk9cvp2#
在.NET 6中,他们将
Startup.cs
和Program.cs
统一到Program.cs中。现在注册中间件、服务、身份验证,并将DbContext和其他所有内容添加到Program.cs文件中。
下面是Program.cs文件的示例:
有关visit this线程的详细信息。
de90aj5v3#
对于那些试图添加 transient 、单例或作用域服务的人来说,要清楚......
以前,在Startup.cs中,添加服务类似于:
现在,在Program.cs中,它看起来如下所示: