一键导入
ef-core-patterns
EF Core best practices reference — safe migrations, query optimization, configuration patterns, and common pitfalls.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
EF Core best practices reference — safe migrations, query optimization, configuration patterns, and common pitfalls.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
JWT bearer auth, ASP.NET Identity, OIDC, and policy-based authorization patterns for ASP.NET Core APIs.
HybridCache (.NET 9+), output caching, cache-aside pattern, and IMemoryCache — registration, usage, invalidation, and key strategy.
Protocol for detecting and replicating existing project conventions before generating new code — naming, folder structure, DI registration, test framework, DTOs, and error handling.
Domain-Driven Design patterns for .NET — aggregates, value objects, strongly-typed IDs, domain events, repositories, and layer rules.
Result pattern, ProblemDetails (RFC 7807), global exception boundaries, and typed error records for .NET APIs.
Serilog structured logging for ASP.NET Core — setup, message templates, LogContext enrichment, request logging middleware, and log level guidelines.
| name | ef-core-patterns |
| description | EF Core best practices reference — safe migrations, query optimization, configuration patterns, and common pitfalls. |
Reference material for EF Core development. Used by dnp-ef-migration-planner and dnp-planner.
migrationBuilder.RenameColumn — preserves data)--dry-run before applyingmigrationBuilder.Sql() for data migrations, not EF operationspublic class UserConfiguration : IEntityTypeConfiguration<User>
{
public void Configure(EntityTypeBuilder<User> builder)
{
builder.HasKey(u => u.Id);
builder.Property(u => u.Email).HasMaxLength(256).IsRequired();
builder.HasIndex(u => u.Email).IsUnique();
builder.HasMany(u => u.Orders).WithOne(o => o.User).HasForeignKey(o => o.UserId);
}
}
// In OnModelCreating:
modelBuilder.ApplyConfigurationsFromAssembly(typeof(ApplicationDbContext).Assembly);
AsNoTracking() for read-only queriesSelect) to fetch only needed columnsInclude with ThenInclude for eager loading (avoid N+1).AsSplitQuery()ExecuteUpdateAsync / ExecuteDeleteAsync for bulk operations (EF 7+)ToList() before filtering (materializes entire table)Count() when you need Any()FromSqlRaw with string interpolation (SQL injection risk)CancellationToken on async queriesreferences/migration-patterns.md — detailed migration scenariosreferences/performance-patterns.md — advanced query optimization