Question

Je ne sais pas s'il s'agit d'un problème de configuration de mon côté ou d'un bug, mais je suis confronté à un problème vraiment bizarre.

Je me développe contre SQL Server CE 4.0 dans un projet WinForms VS 2010. Il est conservé dans le projet comme tel

enter image description here

Maintenant, ce qui se passe, pour une raison étrange, chaque fois que je rencontre une exception dans mon application ou fais une mise à jour de schéma pour la base de données, je perds toutes mes données de test. Pas seulement un tableau, tout cela, une base de données entière à l'exception des objets de schéma.

N'oubliez pas que je ne fais rien pour régénérer la base de données du modèle ou quoi que ce soit. Il supprime simplement toutes les données, et actuellement il n'est même pas entièrement reproductible. Complètement imprévisible. Le schéma reste intact même après la suppression des données.

Quelqu'un peut-il aider?

Était-ce utile?

La solution

D'accord, j'ai compris la solution - très stupide de moi, mais je pense que les autres peuvent faire cette même erreur alors voilà -

J'utilise la chaîne de connexion comme | dataDirectory | localdb.sdf et je m'attend à ce qu'elle le prenne dans le répertoire du projet - il s'avère qu'il le prend à la place du dossier de débogage. A du sens maintenant que je le sais.

Donc, chaque fois que je fais une mise à jour de schéma, la base de données d'origine est modifiée afin qu'elle ait remplacé le LocalDB présent dans le dossier de débogage. Étant donné que la base de données du projet n'a jamais eu de données, j'avais l'habitude d'obtenir inutilement la base de données vide.

Autres conseils

En fait, après un changement dans la base de données SQL Server CE (dans le schéma, par exemple), il remplace la base de données à l'intérieur de l'application par une nouvelle copie. Si la base de données dans SQLServer CE a un ensemble de données différent de la base de données à l'intérieur de l'application, les données précédentes à l'intérieur de l'application seront perdues.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top