Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 英孚核心;未找到任何迁移";尽管迁移文件夹包含迁移文件_C#_.net_Entity Framework Core - Fatal编程技术网

C# 英孚核心;未找到任何迁移";尽管迁移文件夹包含迁移文件

C# 英孚核心;未找到任何迁移";尽管迁移文件夹包含迁移文件,c#,.net,entity-framework-core,C#,.net,Entity Framework Core,我们有一个.NET核心项目,其中有一个Migrations文件夹,其中包含几个迁移,我们过去通过执行dotnet ef database update能够在开发数据库中成功运行这些迁移。然而,我们现在正试图将这些更改应用到我们的暂存数据库,但它不起作用。我们已经将ASPNETCORE\u环境env变量设置为Staging,当我们尝试运行迁移时,它似乎正确地将Staging作为目标。在我们的暂存数据库中创建了一个dbo.\uu EFMigrationsHistory表,但其中没有条目。此外,当我们

我们有一个.NET核心项目,其中有一个Migrations文件夹,其中包含几个迁移,我们过去通过执行
dotnet ef database update
能够在开发数据库中成功运行这些迁移。然而,我们现在正试图将这些更改应用到我们的暂存数据库,但它不起作用。我们已经将
ASPNETCORE\u环境
env变量设置为
Staging
,当我们尝试运行迁移时,它似乎正确地将Staging作为目标。在我们的暂存数据库中创建了一个
dbo.\uu EFMigrationsHistory
表,但其中没有条目。此外,当我们运行
dotnet ef migrations list
时,我们会收到一条消息说“找不到任何迁移”。即使我们将
ASPNETCORE_ENVIRONMENT
变量设置回
Development
,我们也会得到相同的结果

我们已经用verbose标志运行了上面所有的
dotnet ef
命令,没有得到任何错误。唯一可能可疑的输出是
未找到引用的设计时服务
未找到设计时服务
,但我们无法确定需要做什么来修复这些问题

当我们运行
dotnet ef migrations add
时,它会在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" />

运行时间;建设;本地人;内容文件;分析仪;可传递的
全部的
运行时间;建设;本地人;内容文件;分析仪;可传递的
全部的

有没有想过为什么我们不能运行现有的迁移?

事实证明,这个错误是因为缺少Designer.cs文件。由于,我们删除了它们,但EF无法找到没有它们的迁移。如果计划在任何其他环境中运行迁移,请不要删除设计器文件

您是否运行了
dotnet ef数据库更新