我找到了解决方案,尽管这并不是我们所希望的。我们希望 VisualStudio 直接从数据库中获取 Schema 信息。(我们项目中的 SQL 文件仅用于视图和存储过程)。但是,当我们将表和函数导入项目时,它会使用该信息来构建智能感知。
好消息是我们找到了解决方案。坏消息是,当我们的数据库项目之外的进程更改某些表时(我们有一些这样做),那么我们必须记住在智能感知正常工作之前刷新项目中的这些模式。
旁注:这是导入表、函数等的快速方法,尤其是当您必须像我们必须做的那样偶尔对所述对象进行刷新时。
在开始之前,请确定要从数据库中导出的对象类型:表、存储过程、视图或函数。在您的数据库项目下为您要导出的每个项目创建一个文件夹。
在 SSMS 中,打开数据库服务器并右键单击要使用的数据库实例。转到 Tasks -> Generate Scripts ... 从那里选择特定的数据库对象。在此示例中,只想提取表。选择“表格”,并取消选中所有其他选项,然后单击“下一步”。
在此屏幕上,选择“每个对象单个文件”,并为其指定数据库项目下“表”子文件夹的路径。我更喜欢让我的脚本 DROP 和 CREATE 而不是 ALTER,所以单击“高级”并将创建模式更改为“DROP 和 CREATE”。
从这里,只需“下一步”退出所有对话框。繁荣!您现在拥有一系列可以包含在项目中的 SQL 文件。这些 SQL 文件将使智能感知能够正常工作,并且您有一个启动板来生成所有数据库对象,而无需从头开始重新构建它们。