0

我不确定这是我这边的设置问题还是一些错误,但我面临着一个非常奇怪的问题。

我正在 VS 2010 Winforms 项目中针对 SQL Server CE 4.0 进行开发。它像这样保存在项目中

在此处输入图像描述

现在发生的事情是,出于某种奇怪的原因,每当我在应用程序中遇到异常或对数据库进行模式更新时,我都会丢失所有测试数据。不只是一张表,所有的,除了模式对象之外的整个数据库。

请记住,我没有做任何事情来从模型或任何东西重新生成数据库。它只是删除了所有数据,目前甚至无法完全重现。完全不可预测。即使数据被删除,架构仍然保持不变。

任何人都可以帮忙吗?

4

2 回答 2

0

好的,我想出了解决方案-我很愚蠢,但我认为其他人也会犯同样的错误,所以这里是-

我将连接字符串用作 |DataDirectory|\LocalDB.sdf 并希望它从项目目录中获取它 - 结果它从调试文件夹中获取它。现在我知道了,这很有意义。

因此,每当我进行架构更新时,原始数据库都会更改,因此它替换了调试文件夹中存在的 LocalDB。由于项目中的数据库从来没有任何数据,我曾经不必要地获取空数据库。

于 2011-05-17T16:44:46.703 回答
0

实际上,在 SQL Server CE 数据库(例如架构中)发生更改后,它会用新副本替换应用程序内部的数据库。如果 sqlserver ce 中的数据库与应用程序内部的数据库有不同的数据集,则应用程序内部的先前数据将丢失。

于 2012-03-22T21:08:01.027 回答