All skills
github avatar

/ef-core

@caab1f6 official
by githubgithub/awesome-copilot40k stars
5,040

Get best practices for Entity Framework Core

Use this Skill: https://skilld.dev/gh/github/awesome-copilot/ef-core

This session only. Nothing lands on disk.

SKILL.md

≈13 tokens always: the name and description. ≈649 when used: this file.

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.

Source: SKILL.md on GitHub

2 warnings16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill provides best practices and architectural guidance for working with Entity Framework Core. It contains no executable scripts, network operations, or security risks.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    1/1 file flagged

  • ZeroLeaks5mo

    1 finding · Score: 69/100

Signed by skilld at caab1f6. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 19 hours ago.

Activeupdated 7 months ago

README badge

README badge for github/awesome-copilot/ef-core

Guides Entity Framework Core implementation across data context design, entity modeling, performance optimization, migrations, querying, change tracking, security, and testing. Targets .NET developers using EF Core in web applications, console apps, and test suites.

Generated from the current SKILL.md.

Does this skill work with Entity Framework Core 6, 7, and 8?
The SKILL.md does not specify version constraints. It covers general best practices applicable across recent EF Core versions, but you should verify compatibility with your specific version.
Can this skill help with SQL Server, PostgreSQL, or only specific databases?
The skill focuses on EF Core patterns and best practices that are database-agnostic. It does not target a single database provider.
Does this skill generate code or only provide guidance?
This skill provides best practices and code review guidance for Entity Framework Core development. It does not generate migrations, entity classes, or DbContext code automatically.

Generated from the current SKILL.md. These answers refresh after source changes.