我试图在Visual Studio 2017中创建一个ASP.NET MVC Web应用程序。我需要采用EF数据库优先的方法来完成这项工作。
不幸的是,我无法在“数据”模板文件夹中找到ADO.NET实体数据模型模板:
我尝试过以下对我不起作用的建议。
注意:我的VS 2015和VS 2017都安装在我的机器上。只有VS 2017才有问题。
我创建了ASP.NET MVC项目如下:
File -> New -> Project -> Web -> ASP.NET Web Application (.NET Framework) -> MVC
有没有人知道这个问题的解决方案?
答案 0 :(得分:26)
答案 1 :(得分:16)
对于那些尝试其他解决方案且仍然没有看到模板的人......
也许您正在尝试将ADO EF添加到 .NET Core 2.0项目,并且不支持开箱即用。
您有两个选择:
我推荐#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实体数据模型。
答案 4 :(得分:2)
我在VS2017 Community Edition中遇到相同的问题。 我以前尝试过以下方法,但是没有用:
最后,经过仔细调查,我发现了错误的目标
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.您可以按照以下步骤操作。
转到计算机的控制面板\程序\程序和功能。
选择Microsoft Visual Studio 2017,右键单击并更改。
将进入Visual Studio产品窗口,然后单击修改按钮。
现在勾选Web和Web中的ASP.Net和Web开发工作量。云部分并对其进行修改。
最后启动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)
答案 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)
答案 21 :(得分:-2)
只需打开Visual studio setup
。如果已安装,请选择修改部分,然后勾选.NET desktop development
选项并安装它。