.NET 文件架构与 Web API 项目结构
.NET
项目的结构设计清晰、可扩展性强,特别是在 ASP.NET Core Web API 项目中。本文将介绍 .NET 的典型项目架构、初始化方法以及数据库连接示例。
🚀 初始化 ASP.NET Core Web API 项目
dotnet new webapi -n MyWebApi
cd MyWebApi
dotnet run
该命令会自动生成一个基本的 Web API 项目。
📁 项目目录结构说明
MyWebApi/
├── Controllers/ # 控制器(路由逻辑)
│ └── WeatherForecastController.cs
├── Models/ # 数据模型(DTO / 实体类)
├── Services/ # 业务逻辑服务(可选)
├── Data/ # 数据库上下文与迁移(EF Core)
├── Program.cs # 应用入口点(配置中间件)
├── appsettings.json # 配置文件(连接字符串等)
├── MyWebApi.csproj # 项目文件(依赖项等)
🧩 示例:添加数据模型和数据库上下文
- 安装 Entity Framework Core(以 SQL Server 为例)
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
- 创建模型类
// Models/Product.cs
public class Product {
public int Id { get; set; }
public string Name { get; set; }
}
- 创建数据库上下文
// Data/AppDbContext.cs
using Microsoft.EntityFrameworkCore;
using MyWebApi.Models;
public class AppDbContext : DbContext {
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
public DbSet<Product> Products { get; set; }
}
🔧 配置数据库连接
编辑 appsettings.json
:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyDb;Trusted_Connection=True;"
}
}
注册上下文(在 Program.cs
中):
builder.Services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
🧪 添加迁移和生成数据库
dotnet ef migrations add InitialCreate
dotnet ef database update
确保已安装 dotnet-ef CLI:
dotnet tool install --global dotnet-ef