升级VS2022后新建ASP.NET MVC项目无Startup.cs,如何添加DbContext配置代码
问题解答
1. 无Startup.cs是否为正常现象
这属于完全正常的情况。从.NET 6版本开始,ASP.NET Core默认启用最小托管模型,将原本拆分在Startup.cs中的服务注册、中间件配置逻辑,与Program.cs的启动引导逻辑合并为单一Program.cs文件,因此新建项目不会自动生成Startup.cs,属于官方的默认设计。
2. 数据库上下文注册代码添加方式
所有服务注册的代码都需要放在Program.cs中var builder = WebApplication.CreateBuilder(args);语句之后,var app = builder.Build();语句之前。
原代码中的services对应最小托管模型下的builder.Services,原Configuration对应builder.Configuration,调整后的代码如下:
builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
额外注意事项
- 提前安装NuGet包
Microsoft.EntityFrameworkCore.SqlServer否则会出现依赖报错 - 确保
appsettings.json文件中已配置名为DefaultConnection的数据库连接字符串,示例配置参考:
{ "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=你的数据库名;Trusted_Connection=True;MultipleActiveResultSets=true" } }
内容的提问来源于stack exchange,提问作者Mohamed ElNady
相关产品推荐
相关产品推荐

