2017-06-06 3 views
0

Cela fait un moment que j'ai utilisé EF et je démarre maintenant un petit projet où je veux créer une petite base de données basée sur mon modèle (classes dans le dossier Domaine), EF Code-simple si simple.L'application EF6 ne stocke pas de données dans la base de données SDF

Je me suis cassé la tête à ce sujet, parce que pour une raison quelconque les tables ne sont pas créées dans la base de données.

J'ai exécuté le projet plusieurs fois et le contexte a beaucoup de logique de départ pour remplir plusieurs tables. Le mappage est également codé, tout comme les relations plusieurs-à-plusieurs et les contraintes uniques. D'après ce que j'ai pu trouver ici, la chaîne de connexion semble correcte également. C'est la première fois que j'utilise SQL Server Compact, car je veux qu'il soit une application WPF facilement déployable. Peut-être que je néglige quelque chose là-bas?

J'ai ajouté une capture d'écran de mon environnement qui devrait contenir toutes les informations pertinentes. Si vous avez besoin de plus, demandez. S'il vous plaît aidez-moi à trouver ce qui est faux ou manquant, afin que je puisse enfin commencer à faire des progrès dans ce projet. J'ai passé beaucoup de temps à essayer de surmonter cet obstacle.

+1

Le * nom * de la chaîne de connexion que vous transmettez au constructeur 'DbContext' ne semble pas correspondre à celui du fichier app.config. Dans le constructeur statique, vérifiez 'db.Database.Connection.ConnectionString' –

+0

Merci Ivan. J'avais copié le nom de la variable à partir du paramètre du projet, mais lorsque j'ajoutais le nom complet, y compris le chemin des paramètres ( .Properties.Settings), et résolvais quelques erreurs qui venaient après, il stockait maintenant les données semées dans le fichier sdf. – FoxHound

Répondre

0

Recherchez une copie de votre fichier de base de données dans le dossier bin/Debug, il aura vos données!

+0

C'était l'un des premiers endroits que j'ai cherché. Le problème a menti, comme Ivan a commenté l'OP, dans le nom de la chaîne de connexion étant incomplète. – FoxHound