SuperAPI AI 工具集

csharp-developer

编程与开发

查看项目

更新于 10-15 11:07

技能介绍

用途

C# Developer 技能提供现代 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# 特性(records、模式匹配等)
  • 构建企业级 .NET 应用
  • 使用 xUnit/NUnit 编写单元测试
  • 实现依赖注入模式

在以下情况不要调用该技能:

  • 构建跨平台 .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 Minimal API 或 Controllers
  • Web 应用 → Blazor 或 Razor Pages
  • 后台服务 → Worker Service
  • 桌面 → WPF、WinUI 或 MAUI
  • 类库 → .NET Standard 或 .NET 8

按数据访问方式选择方向:

  • 使用 ORM 的 SQL → Entity Framework Core
  • 需要精细控制的 SQL → Dapper
  • NoSQL → MongoDB driver 或 Cosmos SDK
  • 多种数据库 → Repository 模式

核心工作流

1. ASP.NET Core API 开发

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

2. Entity Framework Core 设置

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

3. 测试策略

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

最佳实践

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

反模式

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

限制

该技能不覆盖 .NET MAUI 跨平台应用、.NET Framework 4.8、Windows 桌面应用以及 Azure 专属基础设施,这些场景应改用对应的专门技能。