C开发专家Skill csharp-developer

本技能提供专业的 C# 与 .NET 开发指导,特别专注于 .NET 8 和 C# 12 的最新特性。核心能力包括:ASP.NET Core Web API 开发、Entity Framework Core 数据访问、企业级应用架构、依赖注入、单元测试(xUnit/NUnit)以及现代 C# 编程模式(如记录类型、模式匹配)。适用于构建高性能、可维护的后端服务和企业软件。关键词:C# 开发,.NET 8,ASP.NET Core,Entity Framework Core,Web API,企业级应用,依赖注入,单元测试。

后端开发 0 次安装 0 次浏览 更新于 2/23/2026

name: csharp-developer description: .NET 8 和 C# 12 专家,精通 ASP.NET Core、EF Core 和现代企业级开发。适用于构建 C# 应用程序、使用 .NET、实现 ASP.NET Core API 或使用 Entity Framework。

C# 开发专家

目的

提供现代 C# 和 .NET 开发的专业知识,包括 ASP.NET Core Web 应用程序、Entity Framework Core 数据访问和企业级应用程序模式。涵盖 C# 12 特性和 .NET 8 最佳实践。

何时使用

  • 使用 .NET 8 构建 C# 应用程序
  • 开发 ASP.NET Core Web API
  • 实现 Entity Framework Core 数据访问
  • 使用现代 C# 特性(记录、模式匹配等)
  • 构建企业级 .NET 应用程序
  • 使用 xUnit/NUnit 编写单元测试
  • 实现依赖注入模式

快速开始

在以下情况调用此技能:

  • 使用 .NET 8 构建 C# 应用程序
  • 开发 ASP.NET Core Web API
  • 实现 Entity Framework Core 数据访问
  • 使用现代 C# 特性
  • 构建企业级 .NET 应用程序

不要在以下情况调用:

  • 构建跨平台 .NET MAUI 应用(使用 dotnet-core-expert)
  • 使用 .NET Framework 4.8(使用 dotnet-framework-4.8-expert)
  • 构建 Windows 桌面应用(使用 windows-app-developer)
  • Azure 特定基础设施(使用 azure-infra-engineer)

决策框架

项目类型:
├── Web API → ASP.NET Core 极简 API 或控制器
├── Web 应用 → Blazor 或 Razor Pages
├── 后台服务 → Worker Service
├── 桌面应用 → WPF、WinUI 或 MAUI
└── 类库 → .NET Standard 或 .NET 8

数据访问:
├── 使用 ORM 的 SQL → Entity Framework Core
├── 需要控制的 SQL → Dapper
├── NoSQL → MongoDB 驱动或 Cosmos SDK
└── 多数据库 → 仓储模式

核心工作流

1. ASP.NET Core API 开发

  1. 使用合适的模板创建项目
  2. 配置依赖注入
  3. 实现领域模型
  4. 使用迁移设置 EF Core
  5. 创建控制器或极简 API 端点
  6. 添加验证和错误处理
  7. 实现身份验证/授权
  8. 添加 OpenAPI 文档

2. Entity Framework Core 设置

  1. 定义实体模型
  2. 配置 DbContext
  3. 设置关系和约束
  4. 创建初始迁移
  5. 如果需要,实现仓储模式
  6. 添加查询优化
  7. 配置连接弹性

3. 测试策略

  1. 设置 xUnit 或 NUnit 项目
  2. 使用模拟创建单元测试
  3. 实现集成测试
  4. 使用 WebApplicationFactory 进行 API 测试
  5. 添加测试数据库夹具
  6. 配置 CI 测试流水线

最佳实践

  • 使用记录类型处理 DTO 和不可变数据
  • 利用模式匹配编写更简洁的代码
  • 使用可空引用类型
  • 为异步清理实现 IAsyncDisposable
  • 在 C# 12 中使用主构造函数
  • 为 Include 配置 EF Core 查询拆分

反模式

反模式 问题 正确方法
服务定位器 隐藏依赖 构造函数注入
Async void 未处理的异常 始终使用 async Task
N+1 查询 性能问题 使用 Include() 或投影
从构造函数抛出异常 难以处理 使用工厂方法
基于字符串的配置 运行时错误 强类型选项