Salut,
J'aurais besoin d'une petite clarification sur Entity Framework...
J'avais cru comprendre qu'on pouvait l'utiliser avec n'importe quel provider ADO.NET, mais maintenant j'ai un doute, notamment en lisant ça, ou encore ça...
J'ai commencé à migrer une application de Linq to SQL vers EF (j'avais utilisé SQL Server parce que je n'avais pas le choix, mais je souhaite utiliser SQLite). J'ai donc généré le mapping à partir de la base SQLite, j'ai fait tout plein de modifs dans mon appli pour utiliser le modèle EF à la place du dbml, et ça fonctionne bien tant que je ne modifie pas les données. Par contre, dès que j'essaie de faire un SaveChanges, je me fais jeter !
- soit j'ai déjà initié explicitement une transaction avec BeginTransaction, et dans ce cas j'ai l'exception suivante :
- soit je ne m'occupe pas de la transaction, et j'ai l'exception suivante :UpdateException:
An error occurred while updating the entries. See the InnerException for details.
InnerException: ArgumentOutOfRangeException:
Not associated with a connection
Nom du paramètre*: SQLiteTransaction
Bref, dans un cas comme dans l'autre, je ne peux pas faire mon SaveChangesSQLiteException:
SQLite error
cannot rollback transaction - SQL statements in progress
Donc, avant de passer encore des heures à chercher ce qui ne va pas, j'aimerais bien savoir si ce que je cherche à faire (utiliser EF avec SQLite) est possible ! Sachant que le provider ADO.NET que j'utilise est celui de Phoenix Software, qui est supposé supporter EF...
Partager