在Mac上,我有一个Net Core 2.1类库,其中包含一些Entity Framework迁移。
我需要使用Docker来运行SQL Server并通过预览迁移来更新数据库。
我在项目中添加了一个docker-compose.yml文件:
docker-compose.yml
src
data
project.data.csproj
docker-compose.yml文件如下:
services:
data:
build: .
depends_on:
- database
database:
image: "microsoft/mssql-server-linux"
environment:
SA_PASSWORD: "Pass.word123"
ACCEPT_EULA: "Y"
目前无法正常工作。
如何在Mac上使用docker在SQL Server上运行EF Core迁移?
答案 0 :(得分:0)
您需要在启动文件的配置中添加以下几行。它将在应用程序启动时执行。它将所有迁移文件更新到数据库。
using (IServiceScope scope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
scope.ServiceProvider.GetService<MyDBCOntext>().Database.Migrate();
}
这对我有用。