Salut,

Je suis face à un problème qui me laisse perplexe...

Dans mon appli, je commence une transaction dès l'ouverture de la connexion à la base. Quand je veux enregistrer les changements, je commit la transaction, et j'en commence une nouvelle. Bon, je sais pas si c'est une très bonne pratique, mais c'est comme ça que je fais... En fait je manipule ma base de données (SQLite) comme si c'était un simple document : j'enregistre à la demande de l'utilisateur.

Seulement voilà... quand j'essaie de faire un commit, j'obtiens l'exception suivante :
EntityException : The underlying provider failed on Commit.
InnerException : SQLiteException : SQLite error\r\ncannot commit transaction - SQL statements in progress
Si j'ai bien compris, ça veut dire, en gros, que j'ai des DataReaders ouverts, et qu'il faut les fermer avant de pouvoir faire un commit.

Les fermer, moi, je veux bien... seulement, je n'y ai pas accès, puisque tous les accès à la base sont gérés par EF !

Je ne vois absolument pas comment je pourrais forcer la fermeture de ces DataReaders, et donc je suis coincé...

Je sais bien qu'en principe, on commence une transaction juste avant de faire des modifs, et on la commit juste après ; dans ce cas, pas de select entre les 2, donc pas de DataReader, donc pas de problème... Mais cette façon de faire ne me permet pas de "retarder" la validation de mes modifs et d'avoir un comportement type "document".

Ce qui m'énerve encore plus, c'est que quand j'ai mis ce projet de côté il y a quelques semaines, il me semble que ça marchait sans problème... et maintenant, impossible d'enregistrer quoi que ce soit

Quelqu'un aurait une idée pour me débloquer ?