【问题标题】:Visual Studio Schema compare issueVisual Studio 架构比较问题
【发布时间】:2014-08-07 08:46:51
【问题描述】:

在 Visual Studio 中,我更改了数据库项目中的字段名称。

IdInInGeo -> IdInIngeo

在我进行架构比较后,但无法识别此表中的任何更改。
在 Schema 比较的选项中,我找不到有关字段寄存器的任何设置(可能是因为我的英语很弱)。
如何使该架构比较看到字段名称的变化,就像我的情况一样?有什么建议吗?

【问题讨论】:

  • 我注意到有时 DataTools 需要一个小的预算。保存您的项目,重新启动 Visual Studio 并重复架构比较。如果您想查看比较设置,请在架构比较屏幕中单击顶部的小齿轮按钮。
  • @MarcelN。在重复架构比较后,我尝试重新启动 VS,但得到相同的结果。我找到了一个选项按钮,但在里面找不到任何设置来解决我的问题(如果存在此设置)。
  • 也许这会有所帮助? [Stackoverflow-Thread][1] [1]:stackoverflow.com/questions/17203916/…
  • @sprinter252:感谢您的回答,这对我有帮助!
  • 即使使用“验证标识符的大小写”和 SQL_Latin1_General_CP1_CI_AS 的数据库排序规则(如引用的问题中所建议的那样),架构比较也不会为我选择列名大小写更改。

标签: c# visual-studio visual-studio-2012 schema-compare


【解决方案1】:

这件事曾经发生在我身上。我可以使用以下步骤修复它:

  • 转到数据库的项目设置
  • 在标题为“Validate Casing on Identifiers”的复选框中打勾
  • 点击“数据库设置”按钮
  • 在“数据整理”列表下,选择:SQL_Latin1_Generel_CP1_CS_AS
  • 点击确定

这样做很可能会让您检测到架构名称的变化。

请注意,排序规则中的一个字符差异可能会导致不同的结果。例如,CI 表示不区分大小写,而将其更改为CS 则表示区分大小写

希望这会有所帮助。

【讨论】:

  • 正如我在开始赏金时的评论中提到的那样,这种方法(在stackoverflow.com/a/17204187/892313 中提到)对我不起作用。这就是我设置赏金的原因。
  • 我明白了。默认情况下,列继承数据库的排序规则。你能告诉我这些列的排序规则是什么吗?
  • 顺便说一句,我看到你的评论,发现你使用的是SQL_Latin1_General_CP1_CI_AS而不是SQL_Latin1_General_CP1_CS_AS
  • 我错过了您建议的内容与我尝试的内容之间的一个字符差异。你的回答确实有效。如果您编辑答案,我会将反对票改为赞成票。
  • 很高兴听到它奏效了。但是我应该在我的答案中编辑什么?你是说一字之差?
猜你喜欢
  • 2015-03-10
  • 2013-02-12
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 2023-02-14
相关资源
最近更新 更多