ef-core▌
github/awesome-copilot · updated Apr 8, 2026
Entity Framework Core best practices guide covering design, performance, security, and testing patterns.
- ›Covers eight core areas: DbContext design, entity modeling, performance optimization, migrations, querying strategies, change tracking, security, and testing approaches
- ›Emphasizes practical patterns like DbContextFactory, IEntityTypeConfiguration separation, AsNoTracking() for read-only queries, and compiled queries for frequently executed operations
- ›Includes migration best practi
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.
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.8★★★★★55 reviews- ★★★★★Shikha Mishra· Dec 28, 2024
ef-core has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Hana Reddy· Dec 20, 2024
We added ef-core from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Ama Gupta· Dec 20, 2024
Registry listing for ef-core matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Naina Patel· Dec 16, 2024
ef-core fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Ganesh Mohane· Dec 4, 2024
ef-core is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Charlotte Liu· Dec 4, 2024
Solid pick for teams standardizing on skills: ef-core is focused, and the summary matches what you get after install.
- ★★★★★Charlotte White· Nov 23, 2024
ef-core has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Yash Thakker· Nov 19, 2024
Solid pick for teams standardizing on skills: ef-core is focused, and the summary matches what you get after install.
- ★★★★★Sakura Ramirez· Nov 11, 2024
Useful defaults in ef-core — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Kwame Ndlovu· Nov 11, 2024
ef-core reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 55