In Entity Framework Core 2.2+
В вашем библиотечном проекте, содержащем DBContext
, убедитесь, что у вас установлены эти пакеты (ваши версии могут отличаться, также вам может потребоваться изменить SqlServer
на любой другойвы используете для вашей БД):
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.6" />
В моем Startup.cs
я также указал Migration Assembly
, но я не думаю, что это необходимо:
services.AddDbContext<MyDataContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
serverOptions => serverOptions.MigrationsAssembly(typeof(MyDataContext).Assembly.FullName));
Затем вPackage Manager Console
, измените каталог на ваш Service / Startup проект, например:
cd .\src\MyProject.Service
Затем, в зависимости от того, что вы хотите сделать, все еще в Package Manager Console
:
Добавить миграцию :
dotnet ef migrations add MyMigrationName --startup-project ./ --project ../MyProject.Data/
Обновить базу данных :
dotnet ef database update --startup-project ./ --project ../MyProject.Data/
Создать сценарий (последняя миграция) :
dotnet ef migrations script --startup-project ./ --project ../MyProject.Data/