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

时间:2017-06-01 05:43:30

标签: .net asp.net-mvc entity-framework model-view-controller visual-studio-2017

我试图在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
  4. 注意:我的VS 2015和VS 2017都安装在我的机器上。只有VS 2017才有问题。

    我创建了ASP.NET MVC项目如下:

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

    有没有人知道这个问题的解决方案?

22 个答案:

答案 0 :(得分:26)

  1. 转到工具 - >获取工具和功能
  2. 选择单个组件选项卡并检查SDK,库和框架部分下的实体框架6工具

答案 1 :(得分:16)

对于那些尝试其他解决方案且仍然没有看到模板的人......

也许您正在尝试将ADO EF添加到 .NET Core 2.0项目,并且不支持开箱即用

您有两个选择:

  1. 安装了知道.NET Standard 2.0的Core 2.0 SDK和NuGet
  2. 使用.NET 4.x项目而不是Core
  3. 我推荐#1。 VS 2017实际上并没有安装完整的Core 2.0 SDK,也没有VS安装程序提供(这里有许多评论都在讨论)。

    我知道,令人困惑,对吧?

    来自Microsoft:

    "您需要下载并安装适合您平台的.NET Core 2.0 SDK版本。即使您已安装Visual Studio 2017版本15.3也是如此。"

    "为了将.NET 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模板?我认为这是因为它已被弃用/过时。这是让EF在.NET Core中工作的方法: https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

    希望这有帮助!你很受欢迎。

答案 2 :(得分:12)

似乎您添加了不支持ADO.net实体数据模型的“类库(.NET标准)”。您可以添加“类库(.NET Framework)”

答案 3 :(得分:4)

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

  1. 文件 - >新项目
  2. 选择网络 - > ASP.NET Web应用程序(.NET Framework)
  3. 将窗口底部的框架设置为.NET Framework 4.5.2 enter image description here
  4. 使用空模板 enter image description here
  5. 右键点击解决方案 - >添加 - >新物品
  6. 选择数据 - > ADO.NET实体数据模型 enter image description here

答案 4 :(得分:2)

我在VS2017 Community Edition中遇到相同的问题。 我以前尝试过以下方法,但是没有用:

  • 为“ SQL Server数据工具”安装了新功能。
  • 已安装NuGet库。

最后,经过仔细调查,我发现了错误的目标
 See Image: you should be selected .NET Framework instead of .NET Standard

在定位“ .NET Framework”而不是“ .NET Standard”时,对我来说,更改为正确的项目类型。

答案 5 :(得分:2)

工具->单击获取工具和功能->单击修改-> 点击单个组件-> 勾选Entity Framework 6 Tools的复选框 ->单击 Modify -> 您将看到一个弹出窗口->单击重试(如果未关闭,请单击继续

现在启动VS,这次将添加数据 ADO.NET实体模型

请检查这篇文章 http://dotnet-jigyasa.blogspot.com/2018/03/adonet-entity-data-model-missing-visual.html 为我工作。

答案 6 :(得分:2)

要解决上述问题,您可以修改Visual Studio 2017.您可以按照以下步骤操作。

  1. 转到计算机的控制面板\程序\程序和功能。

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

  3. 将进入Visual Studio产品窗口,然后单击修改按钮。

  4. 现在勾选Web和Web中的ASP.Net和Web开发工作量。云部分并对其进行修改。

  5. 最后启动Visual Studio 2017。

答案 7 :(得分:2)

不是这样的解决方案,但请检查所添加的项目是否适用于.NET Framework而不是.NET Standard。 .NET Framework包含用于添加诸如ADO.NET实体数据模型之类的模板。

答案 8 :(得分:1)

您的EF工具遗失了。您需要再次运行安装程序,然后从"选择包"您需要选择enitityframeworktools以获得项目中所需的选项。

答案 9 :(得分:1)

基本上,我发现的是选择.Net Core Project EF时未在“数据”选项卡下显示。您需要选择.Net Framework而不是.Net Core。然后,您将在“数据”标签下找到所有资料。

答案 10 :(得分:0)

我的情况我的项目 - > properties->目标框架是2.0,我更改为4.5并知道它的工作原理知道我看到了ado.net实体数据模型。

答案 11 :(得分:0)

在我的情况下,之前我使用过ADO .NET,所以我知道它已经安装了。所以我只是在右上角的搜索框中键入了ADO,而它就是, 解决了 !希望这有帮助

答案 12 :(得分:0)

首先在项目应用程序属性中将框架更改为4.5.2。enter image description here 只需在解决方案资源管理器中右键单击您的应用程序(不是项目解决方案),然后选择“添加”菜单,然后在“添加菜单”下选择ADO.Net。使用ADO.NET做任何您想做的事情。祝好运。

答案 13 :(得分:0)

  1. 转到Visual Studio 2017工具菜单=>单击获取工具和功能。
  2. 展开更多下拉列表=>单击“修改”。
  3. 单击单个组件。
  4. 在SDK,库和框架下选择Entity Framework 6工具=>单击“修改”

答案 14 :(得分:0)

Visual Studio根据您单击的区域显示可用的项目。 右键单击项目名称的根->添加->新项目->数据 您将能够选择ADO.NET实体数据模型

答案 15 :(得分:0)

确实,此功能在Core中不可用,并且可能无法直接回答问题。但是Core提供了反向工程命令行,该命令行已成功用于具有现有数据库的项目。

您需要做的只是在Package Manager控制台中运行以下命令,它将基于现有数据库为您生成模型:

Scaffold-DbContext 'Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True' Microsoft.EntityFrameworkCore.SqlServer

或直接从命令行使用点网。

dotnet ef dbcontext scaffold "Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True" Microsoft.EntityFrameworkCore.SqlServer

要了解有关此功能的更多信息,请访问Microsoft页面:
https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding

答案 16 :(得分:0)

我认为您选择的是类库(.NET Standard)而不是类库(.NET Framework), 尝试选择类库(.NET框架),您会得到它。

答案 17 :(得分:0)

我的解决方案是复制" edmx"使用asp.net核心从另一个项目到项目的文件,并且工作完美,所有功能,问题只在列表中可用的模板中。

答案 18 :(得分:0)

请确保您是对的-单击适当的项目,而不是解决方案。

各个UI看起来几乎完全相同;它们甚至具有相同的键盘快捷键。如果您希望该选项卡存在,则该解决方案中的一个将“缺少”“数据”选项卡。例如从屏幕截图中获取。

还要确保,根据以前的帖子,您可以: 一种。一个支持实体框架和 b。您确实安装了适当的工具。

答案 19 :(得分:0)

我遇到了同样的问题。就我而言,已经检查了各个组件下的 Entity Framework 6 工具和 SQL 工具选项。我尝试使用相同的选定组件重新安装,这对我有用。

答案 20 :(得分:-2)

  1. 文件 - >新项目
  2. 选择网络 - > ASP.NET Web应用程序(.NET Framework) image 1
  3. 右键单击模型 - >添加 - >新物品 (注意:它不适用于App_Data等其他文件夹) image 2
  4. 选择Visual C#然后选择ADO.NET实体数据模型 image 3

答案 21 :(得分:-2)

只需打开Visual studio setup。如果已安装,请选择修改部分,然后勾选.NET desktop development选项并安装它。