此登錄庫釘選版本所收錄的最新上游作者日期。

ef-core

已同步 v1.1.0 授權: MIT 來源: github/awesome-copilot/skills/ef-core 提交: 4742f26 收錄的最新變更:

Get best practices for Entity Framework Core

摘要

用途
提供 EF Core DbContext 與實體設計,以及查詢、資料保存、遷移、安全性和測試的實務指引。
使用時機
在設計或檢視 EF Core 資料模型、查詢、遷移、變更追蹤或資料庫測試時使用。
輸出結果
提供可採取的改進建議,涵蓋模型設計、查詢效率、安全遷移、資料保存、安全性與測試策略。
上游變更(7 筆,最新收錄 2026-02-19)
caab1f6 Convert all prompts to skills and update plugin manifests 新增 EF Core 最佳實務技能,涵蓋 DbContext 與實體設計、效能、遷移、查詢、變更追蹤與儲存、安全性及測試。
2f9c96d Fix deprecated 'mode' attribute in prompt files by renaming to 'agent' (#441) 將提示檔前置資料中的 `mode` 欄位名稱改為 `agent`。
2b45ca4 feat: update deprecated tool names to namespaced versions (#365) 將提示檔的 tools 清單項目從 `codebase` 改為 `search/codebase`。
69cd4fa update `editFiles` to `edit/editFiles` (#319) 將提示檔的 tools 清單項目從 `editFiles` 改為 `edit/editFiles`。
6fb794b Update development instructions and guidelines (#29) 將提示檔前置資料中的 `mode`、`tools` 和 `description` 值由雙引號改為單引號。
9872a77 Improving the tools for prompts 更新 tools 清單,保留 `codebase`,並以 `changes`、`editFiles`、`problems` 和 `runCommands` 取代 `terminalCommand`。
4c8ad05 Initial setup of repo with prompts and instructions 新增 EF Core 最佳實務提示檔,涵蓋 DbContext 與實體設計、效能、遷移、查詢、變更追蹤與儲存、安全性及測試。
npx skills add "lettucebo/Skills#v2.2.0@ef-core" --full-depth

⚠ v2.2.0 發布後即可使用

Entity Framework Core Best Practices

Your goal is to help me follow best practices when working with Entity Framework Core.

Data Context Design

  • Keep DbContext classes focused and cohesive
  • Use constructor injection for configuration options
  • Override OnModelCreating for fluent API configuration
  • Separate entity configurations using IEntityTypeConfiguration
  • Consider using DbContextFactory pattern for console apps or tests

Entity Design

  • Use meaningful primary keys (consider natural vs surrogate keys)
  • Implement proper relationships (one-to-one, one-to-many, many-to-many)
  • Use data annotations or fluent API for constraints and validations
  • Implement appropriate navigational properties
  • Consider using owned entity types for value objects

Performance

  • Use AsNoTracking() for read-only queries
  • Implement pagination for large result sets with Skip() and Take()
  • Use Include() to eager load related entities when needed
  • Consider projection (Select) to retrieve only required fields
  • Use compiled queries for frequently executed queries
  • Avoid N+1 query problems by properly including related data

Migrations

  • Create small, focused migrations
  • Name migrations descriptively
  • Verify migration SQL scripts before applying to production
  • Consider using migration bundles for deployment
  • Add data seeding through migrations when appropriate

Querying

  • Use IQueryable judiciously and understand when queries execute
  • Prefer strongly-typed LINQ queries over raw SQL
  • Use appropriate query operators (Where, OrderBy, GroupBy)
  • Consider database functions for complex operations
  • Implement specifications pattern for reusable queries

Change Tracking & Saving

  • Use appropriate change tracking strategies
  • Batch your SaveChanges() calls
  • Implement concurrency control for multi-user scenarios
  • Consider using transactions for multiple operations
  • Use appropriate DbContext lifetimes (scoped for web apps)

Security

  • Avoid SQL injection by using parameterized queries
  • Implement appropriate data access permissions
  • Be careful with raw SQL queries
  • Consider data encryption for sensitive information
  • Use migrations to manage database user permissions

Testing

  • Use in-memory database provider for unit tests
  • Create separate testing contexts with SQLite for integration tests
  • Mock DbContext and DbSet for pure unit tests
  • Test migrations in isolated environments
  • Consider snapshot testing for model changes

When reviewing my EF Core code, identify issues and suggest improvements that follow these best practices.

歷程

v1.0.0 bootstrap
v1.1.0 baseline-verified 4742f26
v1.1.0 license-refresh 4742f26