Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# visual studio中的NuGet控制台2017 RC赢得';是否添加迁移或更新数据库?_C#_Entity Framework_Visual Studio_Nuget_Visual Studio 2017 - Fatal编程技术网

C# visual studio中的NuGet控制台2017 RC赢得';是否添加迁移或更新数据库?

C# visual studio中的NuGet控制台2017 RC赢得';是否添加迁移或更新数据库?,c#,entity-framework,visual-studio,nuget,visual-studio-2017,C#,Entity Framework,Visual Studio,Nuget,Visual Studio 2017,我最近买了一台新电脑,看到了Visual Studio的新版本。 我试图在Nuget Manager控制台中更新数据库,但我发现了这个问题 包管理器控制台的实体框架核心命令尚不支持基于csproj的.NET核心项目。请改用.NET命令行工具(即dotnet ef)。有关更多详细信息,请参阅 然后,我按照说明使用dotnet CLI(以前从未使用过它,因此不确定如何使用它),添加了工具,然后按照说明还原了dotnet。然后,我输入dotnet ef database update以添加我已经进行的

我最近买了一台新电脑,看到了Visual Studio的新版本。 我试图在Nuget Manager控制台中更新数据库,但我发现了这个问题

包管理器控制台的实体框架核心命令尚不支持基于csproj的.NET核心项目。请改用.NET命令行工具(即dotnet ef)。有关更多详细信息,请参阅

然后,我按照说明使用dotnet CLI(以前从未使用过它,因此不确定如何使用它),添加了工具,然后按照说明还原了dotnet。然后,我输入dotnet ef database update以添加我已经进行的迁移,但出现以下情况:

dotnet:未找到与命令“dotnet ef”匹配的可执行文件

第1行字符:1

  • dotnet ef数据库更新
  • CategoryInfo:NotSpecified:(无可执行文件f…和“dotnet ef”:String)[],RemoteException
  • FullyQualifiedErrorId:NativeCommandError

我假设您已将ef tools包添加到project.json工具部分

您应该有一个如下所示的部分:

"tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
},
我通常打开nuget包控制台并在那里键入迁移命令。不再需要在该命令前面加上“dotnet ef”。这样一来,它与EF6框架体验没有太大区别


我刚刚在asp.net核心网站上找到了一个很好的教程:

找到您的项目路径,其中存储了project.json文件。您可以在PackageManager控制台中使用“cd”命令首先定位路径。然后再次键入“dontnet ef”


因为Package Manager控制台只能在项目文件夹(其中包含project.json的文件夹)中理解“dotnet ef”。

我对Entity Framework Core也有同样的问题。您需要100%确保代码和NuGet依赖项没有问题。当我遇到这些问题时,我现在运行代码分析,并在那里解决所有问题。如果这不起作用,我将转到项目的命令行并运行:

dotnet restore
dotnet build
dotnet pack 
我再次解决了可能出现的任何问题

这在80%以上的时间里都能起作用。如果这没有暴露出什么是绊倒了EF,那么我就运行发布我的web应用程序

对我来说,有些错误来自我的种子数据例程——即使它们没有被调用。我已经求助于注释掉整个种子数据代码来让EF工作

谢谢, 约翰

是的,我的“工具”部分有这些。对于迁移命令,我也使用nuget包控制台,但对于visual studio 2015除外