К основному содержанию
скилл GitHub Copilot официальный · GitHub

ef-core — скилл для GitHub Copilot: что делает и как установить

Скилл подсказывает практики для Entity Framework Core и помогает находить проблемы в коде. Подойдёт для ревью моделей, запросов, миграций и тестов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill ef-core -a claude-code
Открыть на GitHub

Что делает ef-core

ef-core помогает проверять код Entity Framework Core по практикам проектирования DbContext и сущностей. Он подсказывает, как настраивать связи, ключи и ограничения, разделять конфигурации через IEntityTypeConfiguration, выбирать время жизни DbContext и применять DbContextFactory в консольных приложениях или тестах.

Скилл разбирает запросы и производительность: AsNoTracking() для чтения, пагинацию через Skip() и Take(), Include(), проекцию Select и compiled queries. Отдельно рассматривает N+1, IQueryable, LINQ, транзакции, контроль конкурентности, параметризованные запросы и доступ к данным. В части миграций он советует делать небольшие изменения, проверять SQL перед production и тестировать миграции в изолированной среде.

Для тестов используются in-memory provider, SQLite-контексты и моки DbContext и DbSet. Ставьте его, если нужен предметный ревью EF Core. Для проекта без Entity Framework Core он лишний.

Какие задачи решает

  • проверить структуру DbContext и конфигураций сущностей
  • найти N+1 и лишнюю загрузку данных
  • подобрать способ чтения и проекции запроса
  • разобрать миграции перед применением в production
  • проверить тестовый контекст EF Core

Примеры запросов агенту

  • Проверь этот DbContext и предложи улучшения по ef-core.
  • Найди в запросах EF Core проблемы с N+1, Include() и AsNoTracking().
  • Проверь миграцию и связанные тесты SQLite по практикам ef-core.

Как установить ef-core

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill ef-core -a claude-code

2Вручную: положить файлы

~/.claude/skills/ef-core/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ef-core/

Похожие

xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок sql-optimization официальный github Помогает разбирать SQL-запросы, выбирать индексы и находить причины медленной работы. Подходит при тюнинге запросов в MySQL, PostgreSQL, SQL Server и Oracle. GitHub Copilot 15 701установок sql-code-review официальный github Проверяет SQL-код на проблемы безопасности, производительности и поддержки. Пригодится перед ревью запросов или схемы базы данных. GitHub Copilot 14 060установок postgresql-code-review официальный github Проверяет SQL и схему на ошибки, характерные для PostgreSQL. Пригодится перед ревью миграций, функций и запросов с JSONB. GitHub Copilot 12 608установок bigquery-basics официальный google Управляет ресурсами BigQuery и запускает SQL-запросы. Подходит для создания датасетов, таблиц, представлений и базовой загрузки данных. Claude Code Gemini CLI CX Codex 17 678установок powerbi-modeling официальный github Скилл помогает проектировать и проверять семантические модели Power BI, писать DAX и настраивать связи. Пригодится для рабочих моделей с RLS и расчётами. GitHub Copilot 9 934установок

Вопросы о ef-core

Как установить ef-core в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill ef-core, затем скилл будет доступен из .github/skills/ef-core/SKILL.md. Также можно использовать gh skill install github/awesome-copilot ef-core.

Что делает ef-core?

Скилл помогает ревьюить код Entity Framework Core: DbContext, сущности, LINQ-запросы, миграции, сохранение изменений, безопасность и тесты.

Какие подходы к тестированию EF Core он учитывает?

Он рассматривает in-memory database provider для unit-тестов, отдельные SQLite-контексты для integration-тестов, моки DbContext и DbSet, а также проверку миграций в изолированной среде.

Исходный текст

SKILL.md · MIT
---
name: ef-core
description: 'Get best practices for Entity Framework Core'
---

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

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой