MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Ef-Core

Ef-Core是一款code方向的AI技能,核心价值是Get best practices for Entity Framework Core,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

Get best practices for Entity Framework Core

Last verified on: 2026-05-30
mkdir -p ./skills/ef-core && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/ef-core/SKILL.md -o ./skills/ef-core/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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.

🎯 Best For

  • Claude users
  • GitHub Copilot users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Ef-Core to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is Ef-Core compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Ef-Core?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Ef-Core?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/ef-core/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills