Visual Studio Schema Compare时连接字符串自动添加空格的原因咨询
Visual Studio SQL架构对比连接字符串自动加空格的原因解析
核心原因:连接字符串的序列化规则
Visual Studio的Schema Compare工具在处理.scmp文件时,依赖.NET的SqlConnectionStringBuilder类来解析和生成连接字符串。这个类的默认行为是,将驼峰命名的连接字符串关键字转换为带空格的易读格式:
MultipleActiveResultSets→Multiple Active Result SetsTrustServerCertificate→Trust Server Certificate
每次打开或保存.scmp文件,工具都会重新解析连接字符串,再用这个友好格式写入文件,所以你手动修改的无空格格式会被自动覆盖。
.scmp文件频繁变更的关联因素
- 工具默认会将一些临时状态(比如上次对比的范围、临时过滤规则)自动保存到.scmp文件,哪怕你没主动修改核心配置
- 连接字符串的格式反复切换(手动改回无空格→打开工具又转成带空格),会持续触发文件变更,导致版本控制里频繁出现该文件的修改记录
缓解方案(无直接开关关闭该行为)
- 用纯文本编辑器(如Notepad++)编辑.scmp文件的连接字符串部分,保存后避免用Visual Studio的Schema Compare工具打开该文件,否则格式会再次被转换
- 若团队协作不需要跟踪.scmp的所有变更,可在版本控制系统中对该文件设置忽略规则,仅手动同步核心配置
内容的提问来源于stack exchange,提问作者yzorg
相关产品推荐
相关产品推荐

