在VS2017中找不到ADO.net实体数据模型模板

48

我正在尝试在Visual Studio 2017中创建一个ASP.NET MVC Web应用程序。我需要采用EF数据库优先的方法来完成工作。

不幸的是,在我的“数据”模板文件夹中找不到ADO.NET实体数据模型模板:

enter image description here

我尝试了以下建议,但对我无效。

  1. 通过NuGet安装Entity Framework 6.x
  2. 手动双击最新的msi文件进行安装
  3. 将.NET版本从4.6.x更改为3.5

注意:我在我的计算机上安装了VS 2015和VS 2017,只有VS 2017出现了这个问题。

我按照以下步骤创建了ASP.NET MVC项目:

File -> New -> Project -> Web -> ASP.NET Web Application (.NET Framework) -> MVC

有人知道这个问题的解决方法吗?


2
你能否尝试修复Visual Studio的安装? - Vishvadeep singh
2
请尝试此链接: https://dev59.com/slwY5IYBdhLWcg3wl4sb#32705139 - Vishvadeep singh
2
你安装了桌面开发工作负载吗? - ErikEJ
1
@ErikEJ EF 工具肯定是有的。 - Sandaru
3
@Sandaru 可能需要再试一次。按照以下步骤操作(对我有效):转到“工具”>“扩展和更新”,然后转到在线并搜索“Entity Framework 6 Power Tools”。 - Mubarek
显示剩余4条评论
24个回答

48
  1. 转到 工具 -> 获取工具和功能
  2. 选择个人组件选项卡,勾选 SDK、库和框架部分下的 Entity Framework 6 工具

22
这已经为我核实过了,但仍然不可用。 - Greg
这个答案和@Slauma在这里的答案(https://dev59.com/lmfWa4cB1Zd3GeqPdhnP)结合起来,解决了我的问题。 - mattyB
注意:在 SharedProject 上不会出现“ADO.NET 实体数据模型”选项。 - momo
这个答案和 https://dev59.com/62Ei5IYBdhLWcg3wptp_#21074053 的结合解决了我的问题。Nuget + EF。 - Anthony Horne
12
已经为我检查过了,但没有起作用。然而,当我创建的项目是“类库 (.NET Framework)”而不是“类库 (.NET Standard)”时,ADO选项就出现了。 - Somnium

42

看起来您添加了不支持ADO.net实体数据模型的"类库(.NET标准)"。您可以添加"类库(.NET Framework)"。


这个链接可能会对你有所帮助:https://social.msdn.microsoft.com/Forums/vstudio/en-US/7035edc6-97fc-49ee-8eee-2fa4d040a63b/what-are-differences-between-net-framwork-net-standard-and-net-core?forum=clr - RezaNikfal
这是正确的答案!我们应该使用类库(.NET Framework)添加一个项目。 - CincyBella

25

如果您试过其他解决方案仍然看不到模板...

可能是您正在尝试将 ADO EF 添加到.NET Core 2.0 项目中,而 EF 并未被默认支持

有两个选项:

  1. 安装支持 .NET Standard 2.0 的 Core 2.0 SDK 和 NuGet
  2. 使用 .NET 4.x 项目,而非 Core

我推荐 #1。实际上,VS 2017 并没有安装完整的 Core 2.0 SDK,也不会在 VS 安装程序中提供该 SDK(这是本文评论区的问题之一)

我知道,很困惑,对吧?

来自 Microsoft:

“您需要下载并安装适用于您平台的 .NET Core 2.0 SDK 版本。即使您已经安装了 Visual Studio 2017 版本 15.3,也是如此。”

“为了使用 EF Core 2.0 或任何其他 .NET Standard 2.0 库与除 .NET Core 2.0 之外的 .NET 平台一起使用(例如,与 .NET Framework 4.6.1 或更高版本一起使用),您需要一个了解 .NET Standard 2.0 及其兼容框架的 NuGet 版本”

https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/

现在... 安装完所有这些之后,还是看不到 ADO 模板?我认为这是因为它已经过时/弃用了。这是在 .NET Core 中让 EF 正常工作的方法:

https://learn.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

希望这能有所帮助!不用谢。


12

我必须使用 .Net 4.5.2 创建一个新项目,然后才能添加 ADO.NET 实体数据模型。

  1. 文件 -> 新建项目
  2. 选择 Web -> ASP.NET Web 应用程序 (.NET Framework)
  3. 将窗口底部的框架设置为 .NET Framework 4.5.2 输入图像描述
  4. 使用空模板 输入图像描述
  5. 右键单击项目(不是您的解决方案) -> 添加 -> 新项目
  6. 选择数据 -> ADO.NET 实体数据模型 输入图像描述

7

谢谢,我忘记了之前没有勾选.NET桌面开发。 - Jamie

6

我认为你选择了类库(.NET Standard)而不是类库(.NET Framework), 尝试选择类库(.NET Framework),你就能得到它。


6

并非解决方案,但请检查您添加的项目是否为.NET Framework而不是.NET Standard。 添加ADO.NET Entity Data Model等内容的模板仅适用于.NET Framework。


2
为了解决上述问题,您可以修改Visual Studio 2017。您可以按照以下步骤操作:
  1. 进入计算机的控制面板\程序\程序和功能。

  2. 选择Microsoft Visual Studio 2017,右键单击并选择更改。

  3. 它将转到Visual Studio产品窗口,现在点击修改按钮。

  4. 现在在Web和云部分中选中ASP.Net和Web开发工作负载,并进行修改。

  5. 最后启动Visual Studio 2017。


我已经尝试过这个了。这在终极版中不起作用 :) .. 感谢你的建议。 - Sandaru
这已经为我检查过了,但仍然不可用。 - Greg

2
我在使用VS2017社区版时也遇到了同样的问题。我之前尝试了以下方法,但都没有起作用:
- 安装了“SQL Server数据工具”的新功能。 - 安装了NuGet库。
最后,在更仔细地调查后,我发现自己选择了错误的项目类型,应该选择“.NET Framework”而不是“.NET Standard”(请参考以下图片:See Image)。对于我来说,将目标更改为正确的项目类型,即使用“.NET Framework”而不是“.NET Standard”,解决了这个问题。

2

基本上我发现当你选择 .Net Core 项目时,在数据选项卡下 EF 不会显示。你需要选择 .Net Framework 而不是 .Net Core。然后你就可以在数据选项卡下找到所有的东西了。

原始答案:Original Answer


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