Note: answer to this question can be found in the comments below.

使用VS 2017社区(VS),我创建了一个项目如下:

  • New Project -> C# Windows Universal -> Blank App (i.e. a UWP project)

  • Installed NuGet packages:

  • Microsoft.EntityFrameworkCore.Sqlite

  • Microsoft.EntityFrameworkCore.Tools

之后,我可以通过代码优先的实体框架(EF)初始数据库迁移成功创建新的SQLite数据库 .

然而,我要做的是通过在VS中执行数据库的实体关系图(ERD)来使用模型优先方法 . 请注意,我可以在具有EF(非核心)软件包的非核心/非UWP项目中执行此操作

Project -> Add New Item -> Visual C# Items -> Data -> ADO.Net Entity Data Model

这会产生一个绘图画布,您可以在其中创建一个ERD,然后可以使用该ERD生成DB和ORM代码 . 但这在我的UWP项目中不起作用,因为“添加新项目”对话框在“数据”部分下没有“ADO.Net实体数据模型”条目 .

我错过了什么吗?一个NuGet包?或者我只是在错误的地方寻找?或者,对于EF核心而言,通过ERD的模型优先是不可能的?

注意:我'm very new to the MS technology stack, so I hope I' m使用正确的名称 . 我在SO上看到了一些可能与我的问题有关的其他问题,但是我对这些术语的不熟悉让我不确定 . 此外,这些其他问题似乎都没有包含我上面描述的步骤 .

ETA:有人将我的问题标记为possible duplicate of this question . 我同意,另一个问题的答案最终适用于我的问题 . 但是,我认为在发布问题之前我在搜索时看到了这个问题,但由于我对MS技术缺乏了解,因此无法确定它是否适用 . 例如,它讨论了Asp.net和MVC核心,但没有说明.net核心和UWP . 对于那些知道所有各种名字意味着什么的人来说,它们可能等同于同样的事情,但对于我而言,我怀疑不是,对于像我这样的其他新手 . 如果有人试图做我在VS 2017中所做的事情,那么我的问题将更加适用 . 只是我的两分钱 .