在SSMS中编辑前200行时出现空请求,如何解决?
解决SSMS编辑前200行空请求问题
核心排查方向
EF迁移创建的表如果没定义主键,SSMS的可视化编辑功能会因为无法唯一定位行而失效,这是引发空请求的最常见原因。
具体解决步骤
- 检查并添加主键
打开SSMS找到目标表,右键选「设计」:- 看表结构里有没有带钥匙图标的主键列,没有的话选中合适的列(比如
Id列),右键选「设置主键」,然后保存表结构。
- 看表结构里有没有带钥匙图标的主键列,没有的话选中合适的列(比如
- 同步EF代码与数据库(Code First模式可选)
打开项目的包管理器控制台,执行以下命令更新迁移:
确保实体类的主键配置和数据库表一致。Add-Migration AddTablePrimaryKey Update-Database - 重置SSMS编辑模板(主键存在仍有问题时用)
点击SSMS顶部「工具」→「选项」→「SQL Server对象资源管理器」→「命令」,找到「编辑前200行」的SQL模板,重置为默认内容:
重启SSMS后再尝试编辑。SELECT TOP 200 * FROM [{0}].[{1}].[{2}] - 临时替代方案:直接用SQL编辑
如果上面的方法暂时不生效,直接写UPDATE语句修改数据:UPDATE 你的表名 SET 列名1 = '新内容', 列名2 = 456 WHERE 主键列 = 目标行ID
内容的提问来源于stack exchange,提问作者ArtemOrehov
相关产品推荐
相关产品推荐

