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

WebMatrix 2 RC disponible

Dans la foulée des sorties de Visual Studio 2012 RC, Windows 8 Preview et le nouveau Windows Azure, Microsoft a également publié la Release Candidate de WebMatrix 2.

Pour rappel, WebMatrix est un environnement de développement Web léger « tout-en-un », robuste et surtout gratuit, développé par Microsoft.

Cette mouture qui marque une étape importante dans le cycle de développement de l’EDI s’aligne avec la vision de Microsoft : fédérer l’ensemble de la pile Web et des outils dont les développeurs ont besoin pour créer des applications Web au sein d’un outil.

Lire la suite

Entity Framework Code First : activer la migration automatique

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 et de la base de données. Avec Entity Framework, cette tâche peut s’avérer assez complexe et voir même frustrant pour certains.

Une des nouveautés les plus intéressantes qu’apporte Entity Framework 4.3 est la migration pour les mises à jour de la base de données.

Cette fonctionnalité offre aux développeurs des outils permettant d’appliquer avec souplesse et facilité des mises à jour à la base de données à partir des modifications apportées à l’application.

Lire la suite

Utiliser WebAPI dans une application ASP.NET WebForms

La bêta d’ASP.NET MVC 4 avait été expédiée avec WebAPI, un cadre permettant aux développeurs d’exposer leurs applications, données et services sur le Web directement à travers HTTP.

Dans mon précédent billet de blog sur WebAPI, j’ai décrit comment utiliser WebAPi dans une application ASP.NET MVC. Mais, il est également possible de l’utiliser dans une application ASP.NET WebForms.

Lire la suite

Visual Studio 11 : les versions Express seront disponibles en quatre éditions

Contrairement aux versions Express précédentes qui étaient disponibles en fonction des langages de programmation (C# Express, Visual Basic Express, etc.), pour Visual Studio 11, elles seront publiées en fonction des plateformes avec des outils adaptés pour cibler chacune.

Les versions Express sont des déclinaisons gratuites, allégées de Visual Studio intégrant des fonctionnalités et outils de bases. Les différentes éditions Express à venir avec Visual Studio 11 seront :

Visual Studio 11 Express pour Windows 8 ;
Visual Stduio 11 Express pour le Web ;
Visual Studio 11 Express pour Azure ;
Visual Studio 11 Express pour Windows Phone.

Chaque édition supportera l’ensemble des langages .NET et Web à savoir C#, Visual Basic, F#, C++ et JavaScript. Visual Studio 11 Express pour Windows 8 par exemple permettra la conception des applications Metro fondées sur WinRT.

Visual Studio 11 Express pour Windows Phone sera publiée avec la prochaine mise à jour Windows Phone 8, de même que pour Azure, afin de prendre en charge les nouvelles fonctionnalités et améliorations de ces plateformes.

Par ailleurs, LightSwitch, qui permet de développer rapidement des applications métiers sera désormais intégré par défaut dans Visual Studio 11.

Les exigences matérielles de Visual Studio 11 seront pareilles que celles de Visual Studio 10, à la différence que celui-ci fonctionnera uniquement sur Windows 7 ou Windows 8. Les applications managées cibleront par défaut le Framework .NET 4.5 et les applications natives VC11, ce qui suppose qu’elles ne fonctionneront que sur Windows Vista et versions supérieures.

Néanmoins, les développeurs qui veulent publier leurs applications managées sur Windows XP ou Windows Server 2003 pourront changer la cible pour le Framework .NET 4.0. Pour les applications natives, ils devront se retourner vers Visual Studio 2010.

Visual Studio est actuellement disponible en version Beta. La Release Candidate (RC) sera probablement publiée la première semaine de juin avec la Preview de Windows 8

[Tutoriel]Création d’une application CRUD avec WebMatrix, Razor et Entity Framework

Salut,

Les cinq articles de blog qui présentaient pas à pas comment créer une application CRUD avec WebMatrix, Razor et Entity Framework ont été regroupés en un seul tutoriel qui vient d’être publié sur Developpez.com.

J’ai eu à développer récemment une application CRUD avec WebMatrix. Utilisant principalement la classe DataBase de l’espace de nom Microsoft.Data pour la manipulation des données, lorsque j’ai aperçu Entity Framework dans les packages NuGet avec WebMatrix 2 bêta, je me suis dit « génial » ! Ça veut dire que je peux l’utiliser dans ma solution.

J’ai donc opté pour l’utilisation de la bibliothèque au sein de mon application WebMatrix. Entity Framework est en passe de devenir un standard pour la manipulation des données et est recommandé par Microsoft.

Contrairement à Visual Studio et ASP.NET ou l’on dispose de plusieurs outils rendant facile la conception d’une application CRUD avec Entity Framework, sur WebMatrix, c’est un peu compliqué et l’on ne dispose pas des fonctionnalités comme l’échafaudage, et encore moins des ressources sur Internet.

C’est pourquoi j’ai décidé de fournir au travers de cet article une démarche pas à pas avec autant de détails que possible pour la conception d’une application CRUD avec WebMatrix, Razor et Entity Framework.

Le lecteur, tout au long de ce tutoriel, pourra se familiariser avec WebMatrix, Razor, Entity Framework, le gestionnaire de packages open source .NET NuGet pour WebMatrix et le gestionnaire de base de données SQL Server Compact Edition.

Cet article est essentiellement destiné aux débutants. Aucun prérequis n’est donc nécessaire pour sa bonne compréhension. Il est néanmoins préférable d’avoir des connaissances de base en programmation orientée objet avec C# et d’être familiarisé avec WebMatrix et Razor. Si ce n’est pas le cas, je vous conseille de lire dans un premier temps mon tutoriel de présentation de WebMatrix, ainsi que mon tutoriel sur Razor.

Consulter le tutoriel complet

Télécharger la version PDF

Télécharger la version hors-ligne

Télécharger la version eBook

– Télécharger le code source de l’application d’exemple :

. Version RAR

. Version ZIP

Pour les commentaires c’est par ici

Bonne lecture ;)

Création d’une application CRUD avec WebMatrix, Razor et Entity Framework Part 3 : création du DBContext et du Repository

Ce tutoriel à pour objectif de fournir une démarche pas à pas pour la création d’une application CRUD avec WebMatrix, Razor et Entity Framework.

– Part 1 : introduction et présentation des outils

– Part 2 : création de l’application et définition du modèle objet

Dans les parties précédentes, nous nous sommes familiarisés avec les outils que nous allons utiliser, et nous avons par la suite procédé à la création de l’application et à la définition du modèle objet qui sera utilisé.

Cette partie portera sur la création du DbContext, la définition de la chaine de connexion dans le fichier Web.Config, la création de la base de données à partir du modèle objet et afin la définition du Repository qui sera utilisé.

Lire la suite