C# UWP EntityFrameworkCore迁移问题

C# UWP EntityFrameworkCore迁移问题,c#,entity-framework,uwp,entity-framework-core,C#,Entity Framework,Uwp,Entity Framework Core,我是UWP的新手,我正在尝试使用EntityFrameworkCore构建我的第一个应用程序。我的设置如下: Visual Studio 2019 UWP target version - W10 version 1903 UWP min verion - W10 Fall Creators Update Nuget installed packages: Microsoft.EntityFrameworkCore - 2.2.6 Microsoft.EntityFrameworkCore.D

我是UWP的新手,我正在尝试使用EntityFrameworkCore构建我的第一个应用程序。我的设置如下:

Visual Studio 2019
UWP target version - W10 version 1903
UWP min verion - W10 Fall Creators Update

Nuget installed packages:
Microsoft.EntityFrameworkCore - 2.2.6
Microsoft.EntityFrameworkCore.Design - 2.2.6
Microsoft.EntityFrameworkCore.Sqlite - 2.2.6
Microsoft.EntityFrameworkCore.Tools - 2.2.6
(3.0.1 the latest versions support only .NETStandard 2.1 so I can't use them in a UWP app)

Microsoft.NETCore.UniversalWindowsPlatform - 6.2.9
我创建了模型和DBContext,现在我需要创建数据库,唯一的方法是通过迁移来完成。以下是我遇到的问题:

我不能使用Nuget控制台,因为工具不支持UWP

PM> Add-Migration InitialCreate 
Startup project 'Test' is a Universal Windows Platform app. This version of the Entity Framework Core Package Manager Console Tools doesn't support this type of project.
由于不同的错误,我无法使用dotnet ef:

$ dotnet tool install --global dotnet-ef --version 3.0.0
$ dotnet ef migrations add InitialCreate
C:\Users\admin\Desktop\rev\Test.csproj(219,3): error MSB4019: The imported project "C:\Program Files\dotnet\sdk\3.0.100\Microsoft\WindowsXaml\v16.0\Microsoft.Windows.UI.Xaml.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core project. If you're using custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.

如错误消息中所述,如果在UWP项目中使用dotnet CLI进行数据库迁移管理,则不支持此操作

目前,UWP项目仍然使用
.Net标准2.0
,并且不支持
Asp.Net Core 3
的dotnet CLI

如果要使用dotnet CLI管理数据库,则只能在UWP项目之外进行


致以最诚挚的问候。

我不能在UWP上使用Nuget控制台,但我应该能够使用dotnet。人们正在使用它…您好,正如您的测试结果所示,您需要在基于.net core的项目上构建数据库迁移,例如
.net core Console App
,或Web App。UWP项目基于
.Net标准2.0
。虽然可以使用一些.Net核心库,但UWP并不完全基于.Net核心
$ dotnet ef migrations add InitialCreate
C:\Users\admin\Desktop\rev\obj\Test.csproj.EntityFrameworkCore.targets(4,5): error MSB4006: There is a circular dependency in the target dependency graph involving target "GetEFProjectMetadata". [C:\Users\admin\Desktop\rev\Test.csproj]
Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core project. If you're using custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.