emi*_*w26 5 .net c# entity-framework-core
我们有一个 .NET Core 项目,其中包含一个 Migrations 文件夹,其中包含多个迁移,我们过去可以通过执行 .NET Core 项目在开发数据库中成功运行这些迁移dotnet ef database update。但是,我们现在尝试将这些更改应用到我们的暂存数据库,但它不起作用。我们已将ASPNETCORE_ENVIRONMENT环境变量设置为Staging,当我们尝试运行迁移时,它似乎正确定位了暂存。我们的临时数据库中创建了一个dbo.__EFMigrationsHistory表,但其中没有条目。此外,当我们运行时dotnet ef migrations list,我们会收到一条消息“未找到迁移”。即使我们将ASPNETCORE_ENVIRONMENT变量设置回Development,我们也会得到相同的结果。
我们已经使用 verbose 标志运行了上述所有dotnet ef命令,并且没有收到任何错误。唯一看起来可能可疑的输出是No referenced design-time services were found和No design-time services were found,但我们无法确定需要做什么来解决这些问题。
当我们运行时dotnet ef migrations add <migration name>,它会在 Migrations 文件夹中成功生成一个迁移文件,并且当我们运行时dotnet ef migrations list会显示新的迁移,因此看起来我们的旧迁移位于正确的位置。dotnet ef只是由于某种原因他们没有被检测到。
我们的 中有以下软件包.csproj:
<PackageReference Include="FlexLabs.EntityFrameworkCore.Upsert" Version="3.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.113">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0" />
Run Code Online (Sandbox Code Playgroud)
对于为什么我们无法运行现有的迁移有什么想法吗?
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |