0

对于模型项目中的包:

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.0">

 <TargetFramework>netcoreapp2.2</TargetFramework>

在机器上安装了 sdk:

C:\WINDOWS\system32> dotnet --list-sdks
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.504 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.1.604 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
2.1.801 [C:\Program Files\dotnet\sdk]
2.1.802 [C:\Program Files\dotnet\sdk]
2.2.104 [C:\Program Files\dotnet\sdk]
2.2.207 [C:\Program Files\dotnet\sdk]
3.1.101 [C:\Program Files\dotnet\sdk]

我运行命令如下:

PM> Update-Database -Context DalContext -Verbose
Using project 'DAL\Geotik.DAL.DbAL'.
Using startup project 'WebApis\Geotik.WebApis.GeotikApi'.
Build started...
Build succeeded.
C:\Program Files\dotnet\dotnet.exe exec --depsfile D:\Repos\Geotik\Geotik\WebApis\Geotik.WebApis.GeotikApi\Geotik.WebApis.GeotikApi\bin\Debug\netcoreapp2.2\Geotik.WebApis.GeotikApi.deps.json --additionalprobingpath C:\Users\HubertWojtowiczGeoti\.nuget\packages --additionalprobingpath "C:\Program Files\dotnet\sdk\NuGetFallbackFolder" --runtimeconfig D:\Repos\Geotik\Geotik\WebApis\Geotik.WebApis.GeotikApi\Geotik.WebApis.GeotikApi\bin\Debug\netcoreapp2.2\Geotik.WebApis.GeotikApi.runtimeconfig.json "C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.2.0\tools\netcoreapp2.0\any\ef.dll" database update --context DalContext --verbose --no-color --prefix-output --assembly D:\Repos\Geotik\Geotik\WebApis\Geotik.WebApis.GeotikApi\Geotik.WebApis.GeotikApi\bin\Debug\netcoreapp2.2\Geotik.DAL.DbAL.dll --startup-assembly D:\Repos\Geotik\Geotik\WebApis\Geotik.WebApis.GeotikApi\Geotik.WebApis.GeotikApi\bin\Debug\netcoreapp2.2\Geotik.WebApis.GeotikApi.dll --project-dir D:\Repos\Geotik\Geotik\DAL\Geotik.DAL.DbAL\ --language C# --working-dir D:\Repos\Geotik\Geotik --root-namespace Geotik.DAL.DbAL
Using assembly 'Geotik.DAL.DbAL'.
Using startup assembly 'Geotik.WebApis.GeotikApi'.
Using application base 'D:\Repos\Geotik\Geotik\WebApis\Geotik.WebApis.GeotikApi\Geotik.WebApis.GeotikApi\bin\Debug\netcoreapp2.2'.
Using working directory 'D:\Repos\Geotik\Geotik\WebApis\Geotik.WebApis.GeotikApi\Geotik.WebApis.GeotikApi'.
Using root namespace 'Geotik.DAL.DbAL'.
Using project directory 'D:\Repos\Geotik\Geotik\DAL\Geotik.DAL.DbAL\'.
Finding DbContext classes...
Finding IDesignTimeDbContextFactory implementations...
Finding application service provider...
Finding IWebHost accessor...
Using environment 'Development'.
Using application service provider from IWebHost accessor on 'Program'.
Found DbContext 'DalContext'.
Found DbContext 'TdcDalContext'.
Finding DbContext classes in the project...
Using context 'DalContext'.
Finding design-time services for provider 'Microsoft.EntityFrameworkCore.SqlServer'...
Using design-time services from provider 'Microsoft.EntityFrameworkCore.SqlServer'.
Finding design-time services referenced by assembly 'Geotik.WebApis.GeotikApi'.
No referenced design-time services were found.
Finding IDesignTimeServices implementations in assembly 'Geotik.WebApis.GeotikApi'...
No design-time services were found.
Done.

它对数据库没有任何作用。我预计它会增加迁移,但事实并非如此。我以前有: 在此处输入图像描述

在 VS2019 中,我进行了迁移:

在此处输入图像描述

我做了额外的检查:

  1. 当我创建空数据库并运行相同的命令时,它只在__EFMigrationsHistory那里创建了空表。
  2. 我重新安装了所有 nuget 包,但没有帮助。

某人可以帮我弄清楚为什么它不适用于上次迁移20200227120415_ChangeMergeStatusIdCollumnInFuelingMergeTable吗?

4

2 回答 2

0

看来,我的同事添加了代码:

<PropertyGroup>
    <DefaultItemExcludes Condition="'$(Configuration)' == 'Debug' ">Migrations\**\*.Designer.cs</DefaultItemExcludes>
</PropertyGroup>

优化 CICD 中的构建时间。这导致 ef 工具无法发现迁移。

于 2020-03-17T15:48:19.137 回答
0

听起来好像没有找到您的迁移课程。

找到 DbContext 'DalContext'。
找到 DbContext 'TdcDalContext'。
使用上下文“DalContext”。

您的迁移是否使用[DbContext(typeof(TdcDalContext))]DalContext 进行注释?

于 2020-02-28T19:29:35.273 回答