Entityframework Команды

Скачать
Атрибут Назначение
[Key] Указывает первичный ключ
[Required] Обязательное поле (NOT NULL)
[MaxLength(n)] Максимальная длина строки
[MinLength(n)] Минимальная длина строки
[StringLength(n)] Максимальная длина строки (альтернатива MaxLength)
[Column("Name")] Явно задаёт имя столбца в БД
[ForeignKey("NavProp")] Указывает внешний ключ для связи с навигационным свойством
[InverseProperty("OtherNavProp")] Используется при двусмысленности в отношениях между двумя сущностями
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] Автогенерация значения БД (обычно для Id)
[NotMapped] Исключает свойство из модели БД
Команда Назначение
dotnet tool install --global dotnet-ef Установка EF Core CLI-инструмента
dotnet ef Проверка работоспособности EF CLI
dotnet ef migrations add <ИмяМиграции> Создание новой миграции по изменениям в модели
dotnet ef database update Применение всех миграций к базе данных
dotnet ef database update <ИмяМиграции> Откат или накатывание до указанной миграции
dotnet ef migrations remove Удаление последней миграции (если ещё не применена к базе)
dotnet ef migrations list Список всех миграций проекта
dotnet ef migrations script Генерация SQL-скрипта для всех миграций
dotnet ef migrations script <От> <До> SQL-скрипт миграции от одной точки к другой
dotnet ef dbcontext info Отображение информации о текущем DbContext
dotnet ef dbcontext list Список всех DbContext в проекте
dotnet ef database drop Удаление базы данных (с подтверждением)
dotnet ef database update 0 Полный откат всех миграций (база становится пустой)

Для работы с подходом DataBase-First можно использовать такую команду
dotnet ef dbcontext scaffold "Data Source=your.db" Microsoft.EntityFrameworkCore.Sqlite -o Models

Параметр Описание
--force Перезаписывает существующие классы
--schemas Указывает, какие схемы включать
--tables Указывает, какие таблицы включать
--context Имя класса контекста
--data-annotations Генерировать с аннотациями вместо Fluent API
--no-onconfiguring Не включать OnConfiguring() с строкой подключения