-
LinQ avec SQLCompact
Bonjour à tous,
Je suis actuellement bloqué sur un problème assez incompréhensible. J'ai créer une base de donnée SqlCompact (.sdf), j'ai créé mes EntityModel, et j'ai ensuite voulu faire un enregistrement pour tester ma base de données, et aucun message d'erreur mais rien ne s'écrit dans ma bdd. J'ai donc tenté l'opération "inverse" et j'ai enregistré un champs dans ma base de donnée et j'ai essayé de le récupérer, et la aucuns problèmes. Je suis débutant en c# et .net (j'étais plutôt développeur java auparavant)
Voici le code que j'exécute dans ma Main() :
Database1Entities db = new Database1Entities();
PersonnePhysique p = new PersonnePhysique();
PersonnePhysique q;
p.Nom = "Test";
p.Prenom = "Tset";
db.PersonnePhysique.Add(p);
q = db.PersonnePhysique.Find(1);
db.SaveChanges();
db.GetValidationErrors();
System.Console.WriteLine(p.Nom + " " + p.Prenom);
System.Console.WriteLine("\n" + q.Nom + " " + q.Prenom);
Mon code m'affiche ceci en console :
Test Tset
Jérémy De l'Eglise (entrée avec l'id 1)
Et pourtant, rien ne s'ajoute dans ma base de données. Je suis sur que l'erreur est ridicule, mais pourtant je bloque dessus depuis quelques heures déjà, donc toute aide sera la bienvenue
-
Bonjour,
Pourrais-tu me montrer la chaîne de connexion s'il te plaît?
-
J'ai trouvé la solution à mon problème
J'ai créé ma base de données dans projet/model/bdd.sdf
Mais lors de l’exécution de mon code, il me créer un répertoire debug ou se trouve une copie de tous les fichiers, donc la base de donnée dans laquelle sont ajoutées les données se trouve en fait dans projet/debug/model/bdd.sdf
Erreur de débutant donc !
-
Oui, et si dans ta chaîne de connexion tu as "DataDirectory", c'est là qu'en débug il va te créer la BDD dans le répertoire de sortie.
Astuce : pour définir un DataDirectory en mode release, il te faut la définir ainsi :
Code:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath);
-
Citation:
Envoyé par
Ph_Gr
Code:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath);
J'en ai jamais eu besoin mais merci pour l'astuce !