无法将ADO.NET实体数据模型添加到.NET Core 2.1项目

17

问题...

如标题所述,我已经安装了.NET Core 2.1 SDK并创建了一个新的.NET Core 2.1项目。当我进入Project > Add Item... > Data时,我没有ADO.NET Entity Data Model选项。

我使用的是Visual Studio 2017 15.7.3,我几个小时前刚刚安装它。

错误和警告日志都很干净。

感谢任何帮助。


我已经做了什么...

  • 新增以下依赖项...
    • NuGet
      • Microsoft.EntityFrameworkCore (2.1.0)
      • Microsoft.EntityFrameWorkCore.Relational (2.1.0)
      • Microsoft.EntityFrameworkCore.SqlServer (2.1.0)
      • Microsoft.EntityFrameworkCore.Tools (2.1.0)
      • Microsoft.VisualStudio.Web.CodeGeneration.Design (2.1.0)
    • SDK
      • Microsoft.NETCore.App (2.1.0)
      • NETStandard.Library (2.0.3)
  • 构建 / 重新构建 / 清理 / 重启Visual Studio / 重启计算机
  • 1个回答

    16

    EntityFramework Core不使用"EDMX"数据模型设计,它纯粹是基于代码进行的。

    请参阅在现有数据库上使用EF Core和ASP.NET Core入门,从现有数据库中创建一个数据库上下文或创建一个新模型,并使用迁移来创建和更新数据库。

    更新: 在.NET Core 3.0中,您将能够使用Entity Framework 6以及.edmx模型(可能需要VS 2019)。


    1
    啊,我已经阅读了那个页面,但是想坚持自己所知道的,所以我忽略了脚手架部分,尽管我确实获取了 Microsoft.VisualStudio.Web.CodeGeneration.Design (2.1.0)。知道我没有太多选择,我想最终还是会走这条路线。谢谢! - Tyler Roper
    嗯...我已经阅读了一些资料,虽然我能够确认EntityFramework Core确实不使用EDMX文件,就像你所说的那样,但从我所读到的内容来看,添加项目对话框仍应该给我提供实体数据模型选项,只是它会添加类文件而不是EDMX。无论如何,我很满意使用脚手架解决方案。感谢您的时间。 - Tyler Roper
    1
    个人建议转向代码优先,因为它使开发和迁移更容易。 - Martin Ullrich
    1
    仍然无法在 Visual Studio 2019 中看到带有 Asp.Net Core 3.00 项目的 Ado 数据实体模型。该怎么办?有没有办法? - Muhammad Ashikuzzaman
    自从引入源生成器以来,我猜可以创建一个选项,用于使用edmx,但只作为“AdditionalFile”,然后由源生成器读取,然后生成代码,就像.NET Framework的ADO.NET模板以前所做的那样。然而,这需要了解Roslyn的内部工作方式(它在Visual Studio中也是自然使用的)。但是,我会选择不同的格式,可能基于yaml,以便使用IDE文本编辑器轻松创建/更新。 - PSXGamerPro1
    显示剩余2条评论

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接