You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2019 .NET5 Web项目添加新项找不到ADO.NET Entity Data Model怎么办

问题原因

该问题是.NET版本兼容性导致的:

  • ADO.NET Entity Data Model(EDMX)可视化设计器模板默认仅支持.NET Framework框架的项目,你创建的.NET 5属于.NET Core生态,VS默认不会在这类项目的添加新项菜单中展示EDMX相关选项。
  • 即使安装了EF6,若安装的是面向.NET Framework的版本,也无法适配.NET 5项目的模板调用。

解决方法

可根据自身需求选择以下任意一种方案:

方案1:改用.NET Framework项目(最稳定)

如果没有必须使用.NET 5的硬性要求,直接创建基于.NET Framework的ASP.NET Web项目,创建完成后在添加新项的「数据」分类下就能正常找到ADO.NET Entity Data Model选项。

方案2:在.NET 5项目中兼容使用EDMX

如果必须使用.NET 5,可按以下步骤操作:

  1. 首先确保安装的是EF 6.4及以上版本,仅该版本开始支持.NET Core 3.x/.NET 5+的运行环境。
  2. 手动修改项目配置:右键你的.NET 5项目,选择「编辑项目文件」,在首行<Project Sdk="Microsoft.NET.Sdk.Web">下方添加如下属性:
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
  1. 保存文件后重新加载项目,再次打开添加新项菜单就能看到EDMX模板,该方案属于兼容适配,后续设计器操作可能存在偶发的兼容性问题。
  2. 备选操作:也可以先创建一个.NET Framework类库项目,在该项目中生成EDMX模型后,将相关的实体文件、上下文文件和配置复制到你的.NET 5项目中,再安装对应版本的EF6包即可正常使用。

方案3:使用官方推荐的Code First模式(更适配.NET 5)

.NET 5+生态官方更推荐使用EF Core的Code First模式替代EDMX设计器:

  • 如果是新开发项目,直接编写实体类和数据库上下文,通过迁移命令生成数据库即可。
  • 如果是对接现有数据库,可在包管理器控制台执行Scaffold-DbContext命令反向生成实体类和上下文,效果和EDMX的数据库优先模式完全一致,且没有兼容性问题。

内容的提问来源于stack exchange,提问作者ashkufaraz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:15:00