Entity Framework

Entity Framework une brique maintenant indispensable de l'ADO.NET.

http://msdn.microsoft.com/fr-fr/library/vstudio/bb399572.aspx
Page de référence MSDN ...

Résumé :

ADO (Accès aux données) permet de programmer à partir d'un modèle conceptuel plutôt qu'un shcéma relationel. Le modèle conceptuel permet de de créer des types avec héritage, des membres complexes et des relations entre les objets.

L'intégration de LINQ permet une validation par rapport au modèle conceptuel au moment de la compilation.

Entity Framework fait maintenant partie intégrante du .NET Framework ...

Pour installer Entity Framework vous aurez besoin de NuGet :

http://docs.nuget.org/
http://docs.nuget.org/docs/start-here/overview
http://docs.nuget.org/docs/start-here/installing-nuget
http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c
NuGet Package Manager - Download
A collection of tools to automate the process of downloading, installing, upgrading, configuring, and removing packages from a VS Project.

http://msdn.microsoft.com/fr-FR/data/ef
Entity Framework is Microsoft’s recommended data access technology for new applications

 Get it


http://msdn.microsoft.com/en-US/data/ee712907
Get started

http://msdn.microsoft.com/fr-fr/data/jj590134
Compréhension rapide d'EF, 4 cas ; création d'une nouvelle DataBase, à partir d'une DB existante, en créeant du code, en le faisant générer automatiquement par les outils autour d'Entity Framework.

http://msdn.microsoft.com/fr-fr/data/jj572367
Entity Framework Code First to an Existing Database
Utilisation de Entity Framework Power Tools

Entity Framework Power Tools
Preview of useful design-time features for DbContext. When right-clicking on a C# project, the following context menu function is supported: 1) Reverse Engineer Code First - Generates POCO classes, derived DbContext and Code First mapping for an existing database. When righ...

http://msdn.microsoft.com/fr-fr/data/jj591506
Entity Framework Database First
Utilisation de ADO.NET Datamodel
Update model from DB

http://msdn.microsoft.com/fr-fr/data/jj572366
Entity Framework Code First to a New Database
virtual object make lasy loading
Using : Managed NuGet Packages ... pour installer Entity Framework
Using : Package Managed Console et les commandes : Add-Migration, Update-Database

D'autres exemples sont présents en targettant le .NET Framework 4.5

Détails des codes et des différentes utilisation de Entity Framework :

Code First to a New Database

Code First to an Existing Database

Model First

Database First

Entity Framework et Visual Studio 2010 Express Edition

L'extension de Visual Studio NuGet.Tools.vsix ne veut pas s'installer avec une version Express de Visual Studio !

Donc on essaye de récupérer EntityFramework.dll depuis le site :

http://nuget.org/packages

C'est devenu impossible ! Merci NuGet !

Et pourtant, ce qu'il suffit de faire c'est de récupérer la DLL EntityFramework.dll ici :
ADO.NET Entity Framework 4.1

Une fois l'exécutable EntityFramework41.exe lancé la DLL se trouve installée dans :

C:\Program Files\Microsoft ADO.NET Entity Framework 4.1\Binaries\EntityFramework.dll

Vous n'avez plus qu'a y faire référence dans vos projets créés avec Expression Edition et le tour est joué.
Have fun.

Entity Framework Error in Domain Service Class

Contexte de l'erreur

J'ai crée une Application Business pour Silverlight 5.0.
J'ai importée la BD AdventureWorks dans le répertoire App_Data.
J'ai créé un ADO.NET Entity Data Model à partir de cette BD.
Je veux créer une Domaine Service Class et là, le champ Avalaible Context Class est vide, alors qu'il devrait me montrer quelque chose comme : AdventureWorks_DataEntities (Entity Framework)

Entity Framework Error in Domain Service Class

Solution

Une partie de la solution est Ici où bien .

Elle concerne Visual Studio 2012 et Entity Framework qui maintenant génère des objets "DbContext" alors que les WCF Ria Services utilisent des objets "ObjectContext".

Un autre souci, j'avais installé DevForce (Framework) qui soit disant simplifie l'ADO mais j'ai du le désinstaller.

Sans oublier de Régénérer le projet une fois l'ADO.NET Entity Data Model régénéré :

Entity Framework et WCF RIA Services Erreur Corrigée
Voilà je peux maintenant créer ma Domain Service Class.




C# Reflection - Réflexivité - PropertyDescriptorCollection

Vous pensez que la réflexivité c'est compliqué ? Voyons ce qu'est réellement la réflexivité. La réflexivité, c'est donner la possibilité de découvrir les champs et les valeurs des champs d'un objet sans avoir à les énumérer. Cela apporte une très grand flexibilité aux code.
Langage C#
Vous avez écris un programme qui utilise la réflexivité sur un objet si cet objet vient à être modifié que vous ajoutez ou supprimez un champ votre code fonctionnera toujours.

Exemple de réflexivité en C#

On a deux objets qui possèdent des champs identiques. Il s'agit, sans nommer chacun des champs des deux structures, de copier les valeurs des champs communs (qui ont le même nom) de l'une des structure dans l'autre.

Ainsi, si l'on vient à retirer ou a ajouter des champs, ce code restera toujours utilisables.

Le code suivant copie les valeurs des champs communs de detail dans current :

using System.ComponentModel;

private void FillCurrent(ClassStruct1 current, ClassStruct2 detail)
{
PropertyDescriptorCollection sources = TypeDescriptor.GetProperties(detail);
foreach (PropertyDescriptor src in sources)
{
PropertyDescriptor dest = TypeDescriptor.GetProperties(current).Find(src.Name, true);
dest.SetValue(current, src.GetValue(detail));
}
}

Tout simple non ?