Entity Framework : que faire face à l’erreur «new transaction is not allowed because there are other threads running »

Je travaillais il y a de cela quelques jours sur une application ASP.NET MVC 3, avec l’ORM Entity Framework. J’ai été confronté lors de l’écriture de mon code à l’erreur suivante : «new transaction is not allowed because there are other threads running ».

Comme il n’est pas exclu que je tombe encore sur le même type de problème à l’avenir, je vais partager sur mon blog – qui est avant tout mon rappel mémoire favori – les causes de cette erreur et comment contourner cela.

Lire la suite

Entity Framework devient Open Source

Entity Framework, l’ORM (object-relational mapping) qui est en passe de devenir un standard pour l’accès aux données sur la plateforme .NET vient d’être passé en open source.

Scott Guthrie, Vice-président de la division serveur et Business Tools chez Microsoft, a annoncé que l’outil sera désormais disponible sous les termes de la licence Apache 2.0, et son code source sera disponible sur CodePlex, la plateforme d’hébergement des projets .NET Open Source.

Le passage en open source d’Entity Framework se situe dans le plan d’ouverture adopté par Microsoft depuis un certain moment avec la création de sa filiale Microsoft Open Technology.

L’ouverture d’Entity Framework permettra une plus grande transparence de développement avec un modèle ouvert où toute la communauté sera en mesure de fournir une rétroaction, des correctifs de bugs, de nouvelles fonctionnalités, etc.

Entity Framework sera toujours pris en charge comme un produit Microsoft et son équipe restera inchangée. Le produit disposera également des mêmes mécanismes de support technique, et sera publié de façon automne ou comme partie de Visual Studio.

Entity Framework est actuellement disponible en version 4.3, et apporte comme nouveauté phare Code First Migrations. La version 5 actuellement au stade de Release Candidate, sera publiée au même moment que le Framework .NET 4.5, et introduira comme nouveauté le support pour enum, des types de données spatiales, etc.

Entity Framework sur CodePlex

[Article]Entity Framework : à la découverte de Code First Migrations

Un petit post pour annoncé la publication de nouvel article sur Code First Migrations, la nouveauté certainement la plus intéressante d’Entity Framework 4.3.

Pendant le développement ou le cycle de vie d’une application, le développeur est très souvent confronté à des situations pouvant entrainer des modifications de son modèle objet ainsi que de sa base de données. Avec Entity Framework, cette tâche peut s’avérer assez complexe, voire frustrante pour certains.

Si vous voulez par exemple apporter une modification (ajout d’une colonne) à une table de votre base de données, si vous vous limitez à définir uniquement la nouvelle colonne dans votre modèle, lors de l’exécution de l’application vous allez obtenir un message d’erreur puisque le modèle ne correspond plus aux objets de la BD.

Il était cependant possible d’ajouter quelques lignes de code dans le fichier Global.asax, permettant lors de la modification du modèle, de détruire et recréer automatiquement la base de données lors de la prochaine exécution de l’application, avec comme conséquence directe la perte des données. Ce qui est inacceptable pour une base de données déjà en production.

Heureusement, Entity Framework 4.3 élimine ces contraintes avec la nouvelle fonctionnalité Code First Migrations, qui permet d’appliquer avec souplesse les modifications du modèle sur la base de données, en réduisant les risques de pertes de données.

L’article complet est disponible ici.

Pour les commentaires, ça se passe ici

Bonne lecture ;)

ASP.NET MVC et Entity Framework : résoudre l’erreur System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types

Lors du déploiement de mon application ASP.NET MVC 3 chez un client, j’ai eu l’erreur « System.Reflection.ReflectionTypeLoadException » pendant l’exécution de celle-ci. Pourtant, l’application fonctionnait correctement sur ma machine de développement.

En dehors d’un foutu message “Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information”, rien ne permet d’identifier clairement la source de cette erreur.

Lire la suite