Warm tip: This article is reproduced from serverfault.com, please click

c#-Visual Studio SQL Server数据库“如果更新则复制”仍然每次都会替换数据库

(c# - Visual Studio SQL Server database "copy if newer" still replaces database each time)

发布于 2020-11-29 20:01:51

我是C#和SQL Server的新手,我正在使用Visual Studio 2019中的简单数据库为学校编写示例。我已连接到.MDF为该项目提供的外部数据库文件,并将其复制到我的项目文件夹中(已选择将数据库的副本放置在项目文件夹中)。

运行我的应用程序后,我对数据进行了一些更改并保存。然后,在重新运行该应用程序时,数据是原始数据,而没有进行我之前的更改。我已经确认应用程序中的保存可以.mdf在调试文件夹中文件上的时间戳更新时使用。但是,当我重新运行时,.mdf项目文件夹中的文件再次被复制到调试文件夹中。

我将“复制到输出目录”属性设置为始终复制,如果更新则复制,从不复制,所有结果均相同。我认为如果较新的副本是最好的选择。

有什么建议?作为参考,该示例来自Tony Gaddis撰写的“ Visual C#入门”第5版,第12章,教程12-3。本教程没有提到“复制到输出目录”属性,在其他论坛上也没有找到解决方法。

Questioner
snowwoman
Viewed
0
snowwoman 2020-11-30 06:41:24

我找到了遇到此问题的原因。我错误地将数据集(解决方案资源管理器中的.xsd)而不是数据库本身(解决方案资源管理器中的.mdf)的“复制到输出目录”更改为“如果更新则复制”。

想要发布,以防其他新手遇到此问题。