2009-05-20 7 views
0

J'ai une base de données SQL dans mon dossier App_Data et ma chaîne de connexion ressemble à ceci:base de données dans App_Data pas de données persistant

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|wikipediamaze.mdf; Trusted_Connection=Yes;

J'utilise Fluent NHibernate, et tout est mis en correspondance correctement. Je suis capable de me connecter à la base de données et même mettre à jour et insérer des lignes sans problème.

Mon problème est qu'une fois que j'arrête le débogage, aucune de mes données n'est là. J'ai vérifié pour voir si ma base de données était peut-être placée dans le dossier bin et qu'une nouvelle instance était créée pour chaque fois que j'utilisais l'application, mais ce n'est pas le cas.

Quelqu'un a-t-il d'autres suggestions? J'ai passé 2 nuits maintenant essayant de comprendre cela.

Merci!

+0

Où se trouve cette chaîne de connexion que vous mentionnez? Il existe plusieurs endroits où la chaîne de connexion peut résider. Peut-être avez-vous un duplicata. –

+0

J'ai seulement 1 chaîne de connexion et c'est dans le fichier de paramètres que je référence à travers la classe de propriétés en C# – Micah

Répondre

0

Le problème que je rencontrais était que j'utilisais mal la session NHibernate. J'avais besoin d'appeler ISession.Flush ou ITransaction.Commit pour le persister dans la base de données.

0

Une possibilité est que vous ne validiez pas vos modifications. Démarrez SQL Profiler et vous verrez exactement ce que SQL est exécuté par rapport à votre base de données.

+0

Y at-il quelque chose de spécial que je dois faire commettre les changements plutôt que session.Save (myObj); ? – Micah

Questions connexes