在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个回答

1

你缺少EF的工具。你需要重新运行安装程序,并从“选择包”中选择enitityframeworktools以获取项目所需的选项。


1
在我的情况下,我的项目->属性->目标框架是2.0,我改为4.5并且现在它可以工作了,现在我看到了ADO.NET实体数据模型。

1
这个功能确实在Core中不可用,可能无法直接回答问题。但是Core提供了命令行逆向工程,我已经成功地用于具有现有数据库的项目。
您需要做的就是在包管理器控制台中运行以下命令,它将根据现有数据库为您生成模型:
Scaffold-DbContext 'Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True' Microsoft.EntityFrameworkCore.SqlServer

或者直接使用dot net命令行。

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

要了解更多关于此功能的信息,您可以在微软页面阅读更多:
https://learn.microsoft.com/en-us/ef/core/managing-schemas/scaffolding


1
谢谢你的提示,实际上看了你提供的链接后,这个方法可行:步骤1: Install-Package Microsoft.EntityFrameworkCore.SqlServer步骤2: Scaffold-DbContext 'Data Source=.\SQLEXPRESS;Initial Catalog=DB;Integrated Security=True;MultipleActiveResultSets=True' Microsoft.EntityFrameworkCore.SqlServer - Amir Dashti

0

确保您右键单击的是适当的项目,而不是解决方案。

相应的用户界面看起来几乎相同;它们甚至具有相同的键盘快捷键。如果您期望从屏幕截图中看到“数据”选项卡,则来自解决方案的选项将“缺失”该选项卡。

还要确保,根据以前的帖子,您已经: a. 支持实体框架的项目和 b. 您已安装了适当的工具。


0

在我的情况下,我之前使用过ADO .NET,所以我知道它已经安装了...所以我只是在右上角的搜索框中输入了ADO,然后就找到了它,问题解决了!希望这可以帮到你。


0

如果你无法创建新项目,就像我一样,

并且你确定已经选择了正确的类库,那么对我有用的方法是进行清理和构建,然后只需从我的解决方案资源管理器中打开一个文件,就可以轻松解决问题。

希望这能帮到你,因为这是一个相当广泛和多才多艺的问题。


0

我曾经遇到过同样的问题。在我的情况下,实体框架6工具和SQL工具选项已经被勾选了。我尝试重新安装并选择相同的组件,这对我起作用了。


好的,当我进一步检查并修改了VS后,它对我起作用了。这可能是由于重新安装所选组件而起作用的。 - Karthic G
我已经相应地修改了答案,重新安装对我起作用了,这可能已经修复了您提到的必需组件。 - Karthic G

0
我的解决方案是将一个“edmx”文件从另一个项目复制到具有asp.net core的项目中,它完美地工作,并具有所有功能,问题仅在列表中可用的模板上。

0

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


0

首先在您的项目应用程序属性中将框架更改为4.5.2。输入图像描述 只需在解决方案资源管理器中右键单击应用程序(而不是项目解决方案),然后选择添加菜单并在添加菜单下选择ADO.Net。使用ADO.NET进行任何操作。祝你好运。


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