在Visual Studio 17上更新数据连接到最新数据库版本

问题描述:

我正在使用Visual Studio开发依赖于SQL Server数据库的ASP.NET/C#Web应用程序来处理数据。从我最初通过VS创建数据连接的那一刻起,我回过头来,通过SQL Server Management Studio改变了数据库中的某些东西(某些列类型,添加了测试行等)。然而,这些变化都没有反映在VS应用程序中,这是一种痛苦,因为我经常因为不匹配而出现错误。例如,我试图插入一个字符串到最初是一个int的列中,当我试图通过后面的代码处理查询时出现错误,即使实际的数据库允许我通过SQL Server管理器正常运行查询。在Visual Studio 17上更新数据连接到最新数据库版本

这种不匹配是如此糟糕,如果我运行相同的查询(SELECT * FROM项目)两个SQL服务器管理器和Visual Studio我得到完全不同的结果:SQL Server Management Studio VS Visual Studio

我试过清爽我在服务器资源管理器上的连接没有结束,甚至在Web.config上创建了一个新的连接字符串,以查看这是否会以某种方式解决它,但似乎没有任何工作。我发现一篇文章解释了VS在构建期间创建了本地版本的数据库,但似乎它提供的解决方案仅适用于非ASP.NET项目,因为我没有bin/Debug DB。

任何建议让Visual Studio反映我的模式/数据的最新版本?谢谢!

+0

我发现的文章是:https://visualstudiomagazine.com/blogs/tool-tracker/2012/05/dealing-with-local-databases-or-why-your-updates-dont-stick.aspx –

+1

Just仔细检查连接字符串以确保所有内容都指向同一个数据库。 – mason

+0

是的,相同的数据库服务器和信息。我已经使用了对象资源管理器,并且在服务器上还有其他数据库时,初始目录也指向了正确的数据库 –

在您的示例文件中,您正在处理两个不同的数据库。

在SQL Server Management Studio和Visual Studio中执行以下命令。您可能会看到列出的文件名是不同的。

exec sp_helpfile 

如果是这样,那么您在两种环境中都没有连接到相同的服务器/数据库。您可以在Visual Studio中单击数据库以在“属性”窗口中查看“连接字符串”。根据你的web.config连接字符串检查它。

+0

不完全确定这是否修复它,因为我没有真正更改我的代码,但是我运行了命令和数据库连接得到刷新,现在两个数据库同步!谢谢你 –

+0

这听起来像你的VS连接被刷新,现在使用与SSMS相同的参数。上面的这个命令不会改变任何事情,但如果您将来遇到问题,应该有助于排除故障。 –