C# 无法使EF.SQLite集成在UWP应用程序中工作

C# 无法使EF.SQLite集成在UWP应用程序中工作,c#,entity-framework,sqlite,uwp,C#,Entity Framework,Sqlite,Uwp,我有一个针对秋季创作者更新的UWP应用程序。我一直在和上关注教程 每当执行添加迁移时,都会出现一个错误 启动项目“UEX.Apps.exforce.UWP”是一个通用Windows平台应用程序。此版本的Entity Framework核心包管理器控制台工具不支持此类型的项目。有关在UWP项目中使用EF核心工具的更多信息,请参阅 我在这里不知所措。这似乎根本不起作用 我尝试了什么:用Fall Creators更新设置一个新的Windows 10虚拟机。安装VS2017的新副本。将项目复制到新机器。

我有一个针对秋季创作者更新的UWP应用程序。我一直在和上关注教程

每当执行添加迁移时,都会出现一个错误

启动项目“UEX.Apps.exforce.UWP”是一个通用Windows平台应用程序。此版本的Entity Framework核心包管理器控制台工具不支持此类型的项目。有关在UWP项目中使用EF核心工具的更多信息,请参阅

我在这里不知所措。这似乎根本不起作用

我尝试了什么:用Fall Creators更新设置一个新的Windows 10虚拟机。安装VS2017的新副本。将项目复制到新机器。还是给了我同样的错误

我发现很难隔离代码,因为它只是基本的实体框架初始化代码。我认为错误在元信息的某个地方。正如我尝试过新的VS2017安装一样,我不认为它是关于混乱的软件包或任何东西

我已经将我的项目简化为项目文件和上下文加上一个实体。我已经上传到这里:

编辑:根据Nico Zhu的回答,我已经一步一步地将模型类放入一个单独的.net标准类库中。我编辑了项目文件并添加了EF引用。但是,本教程中缺少一个步骤,详细说明了如何实际引用UWP项目中的模型代码,因为没有提到添加实际引用。我试图通过右键单击“添加引用”菜单添加引用,选择了.net标准类库,但出现错误

无法添加对项目的引用

我还将类库设置为启动项目,执行Add Migration命令,它不会引发任何异常,但也不会添加我期望的迁移文件。什么也没发生

编辑2:

根据我更改的Nico Zhus注释,我将.net标准类库的项目文件的TargetFramework属性更改回原来的状态,现在我可以从我的UWP项目中引用类库。但是,我仍然无法在我的模型项目上执行添加迁移

启动项目“我的项目”以框架.NETStandard为目标。没有与此框架关联的运行时,无法直接执行针对它的项目。要在此项目中使用Entity Framework Core Package Manager控制台工具,请添加引用此项目的针对.NET Framework或.NET Core的可执行项目,并将其设置为启动项目;或者,将此项目更新为跨目标.NET Framework或.NET Core

启动项目“UEX.Apps.exforce.UWP”是一个通用Windows平台应用程序。此版本的Entity Framework核心包管理器控制台工具不支持此类型的项目。有关在UWP项目中使用EF核心工具的更多信息,请参阅

根据,您需要为UWP应用程序创建一个新的模型projectClass库.NET标准。在执行工具命令Add Migration MyFirstMigration之前,您需要选择模型项目作为默认项目,并将其设置为soution中的启动项目。

更新

在执行工具命令之前,需要将以下内容放入模型项目的csproj文件中:


为什么不使用EntityWorker呢?Core更简单。您是否已将project的最低版本修改为Windows 10 Fall Creators Update10.0;构建16299?@NicoZhu MSFT是的,我已经将这两个版本设置为秋季创建者更新。我还想将TargetFrameworks标记添加到我的项目文件中,但这也不起作用。这添加了两个新的依赖项,上面有黄色警告符号。项目在之后没有生成,所以我更改了我的项目文件。我可以提供其他有助于发现问题的内容吗?@NicoZhu MSFT我会尝试,但这似乎更像是一个确定问题的一般性错误?其中一个元文件中可能存在配置错误?我的意思是,我刚刚创建了新的UWP应用程序,添加了包,创建了带有一些实体的dbcontext,并称为添加迁移。然而,我正在建立一个新的虚拟机现在,将安装一切从一开始,并将尝试复制这一点。我的意思是,在那之前,我想我可以分享项目文件的内容?这会有帮助吗?是的,因为我无法在我这边复制您的问题,所以我需要更详细的信息或您的简单示例来复制它。我将尝试一下,但是文档说明让我们先在您的解决方案中添加一个.NET标准2.0类库。您不必使用类库来包含数据访问代码,但我们将在示例中使用一个类库。我从您发布的链接中看到它是必需的,因此可以更正措辞以避免类似这样的误解。当我尝试添加对项目的引用时,我收到错误消息,无法添加.net标准类库项目。请编辑model project.csproj文件并替换netcoreapp
2.0;netstandard2.0与netstandard2.0。是的,我已复制了您的问题。如果不添加迁移文件,我将检查软件包管理器控制台。查看一下,使用起来更方便
<PropertyGroup>
 <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
<TargetFrameworks>netstandard2.0</TargetFrameworks>