dbcontext Commands to manage DbContext types.
migrations Commands to manage migrations.
Use "dotnet ef [command] --help" for more information about a command.
В табл. 22.9 описаны три основных команды глобального инструмента EF Core. С каждой основной командой связаны дополнительные подкоманды. Как и все команды .NET Core, каждая команда имеет развитую справочную систему, которая доступна после ввода -h
Команды EF Core выполняются в отношении файлов проектов .NET Core (не файлов решений). Целевой проект должен ссылаться на пакет NuGet инструментов EF Core по имени Microsoft.EntityFrameworkCore.Design
Для команд CLI глобального инструмента EF Core, которым требуется экземпляр класса, производного от DbContext
Database и Migrations), при наличии в проекте только одного такого экземпляра именно он и будет использоваться. Если экземпляров DbContext несколько, тогда конкретный экземпляр необходимо указывать в параметре командной строки. Экземпляр производного от DbContext класса будет создаваться с применением экземпляра класса, реализующего интерфейс IDesignTimeDbContextFactory, если инструмент смог его обнаружить.Если инструменту не удалось его найти, то экземпляр класса, производного от DbContext
OnConfiguring(), что не считается хорошей практикой.Лучший (и на самом деле единственный) вариант — всегда создавать реализацию IDesignTimeDbContextFactory
DbContext, который присутствует в приложении.Чтобы вывести список всех аргументов и параметров для команды, введите dotnet ef <команда> -h
dotnet ef migrations add -h
На заметку!
Важно отметить, что команды CLI — это не команды С#, а потому правила отмены символов обратной косой черты и кавычек здесь не применяются.Команды для управления миграциями
Команды migrations
__EFMigrationsHistory создается запись. Команды для управления миграциями кратко описаны в табл. 22.11 и более подробно в последующих подразделах.Команда add
Команда add
DbSet в производном от DbContext классе (и каждую сущность, которая может быть достигнута из таких сущностей с использованием навигационных свойств) и выясняет, есть ли какие-то изменения, которые должны быть применены к базе данных. При наличии изменений генерируется надлежащий код для обновления базы данных. Вскоре вы узнаете об этом больше.