VS2022中无法通过设计器将存储过程添加至EDMX文件求助
无法将存储过程添加至EDMX文件的解决方案
问题概况
- 无法通过EDMX设计器将存储过程添加到模型文件中
- 目标存储过程可在SQL Server Management Studio正常运行,为基础查询类型,示例代码如下:
CREATE PROCEDURE [dbo].[pTestProc] AS BEGIN --ID 为INT类型,ItemName为字符串类型 SELECT Id,ItemName FROM dbo.Items END
- 异常矛盾点:EDMX设计器可正常添加、修改表结构
已尝试操作
- 关闭并重启计算机
- 关闭并重启Visual Studio
- 以管理员身份运行Visual Studio
- 确认数据库连接字符串正确
- 确认数据库权限正常且可执行该存储过程
- 验证存储过程本身运行无异常
- 回滚Visual Studio至更新前的旧版本
可行解决方案(未尝试方向)
- 手动编辑EDMX的XML内容:打开.edmx文件的XML视图,在
<edmx:StorageModels>节点下添加存储过程的定义,同时在<edmx:ConceptualModels>节点中手动配置函数导入映射 - 清除EDMX相关缓存文件:删除项目目录下的
.edmx.sql、.edmx.diagram文件,重新执行“从数据库更新模型”操作 - 检查存储过程所有者:确保存储过程的所有者为
dbo,非dbo所有者的对象可能无法被EDMX设计器识别 - 调整模型更新的高级选项:执行“从数据库更新模型”时,点击「高级」按钮,确认勾选「存储过程和函数」选项,并在筛选列表中明确选中目标存储过程
- 重新创建EDMX文件:备份现有EDMX后删除原文件,重新添加ADO.NET实体数据模型并关联数据库连接,再尝试添加存储过程
- 检查实体数据模型工具完整性:打开Visual Studio安装器,确认「实体数据模型工具」组件已正确安装,若缺失则重新安装该组件
内容的提问来源于stack exchange,提问作者fox909a
相关产品推荐
相关产品推荐

