J'utilise Entity Framework 6.1.0 avec SQL Server 2014.
J'essaye d'effectuer plusieurs opérations dans le cadre d'une transaction que j'ai créée comme ceci:
(var transaction = context.Database.BeginTransaction()) { }
Mais je reçois une erreur
L'access aux tables optimisées pour la memory à l'aide du niveau d'isolation READ COMMITTED est pris en charge uniquement pour les transactions d'autocommitation. Il n'est pas pris en charge pour les transactions explicites ou implicites. Fournissez un niveau d'isolation pris en charge pour la table optimisée pour la memory à l'aide d'un indicateur de table, tel que WITH (SNAPSHOT).
- Comment insert une valeur nulle à la colonne GUID dans Table en utilisant C #?
- fonctionnement interne de SqlDataReader et des métadonnées
- Synchronisation de la database MSSQL et mysql en utilisant C #
- Comment get des données d'image à partir de SQL Server, écrire dans un file, save un file sur disque en utilisant C #
- Impossible d'insert la valeur NULL dans la colonne de la table SQL qui est définie en tant qu'incrémentation automatique
J'ai essayé tous les niveaux d'isolement possibles (ceux autorisés dans les tables de memory) mais en vain.
Comment puis-je effectuer des transactions atomiques à partir du code avec des tables de memory?
La solution consistait à activer MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT
Ressource: http://msdn.microsoft.com/en-us/library/dn133175(v=sql.120).aspx