[EF4] Les types complexes

Définition

Tout d’abord, une petite définition de ce qu’est un type complexe dans Entity Framework :

Un type complexe est un ensemble de propriétés que vous pouvez regrouper. Parfois, votre code devient plus clair lorsque vous regrouper les propriétés. Nous allons ici montrer comment vous pouvez créer des types complexes à partir du designer.

Avant la version 4 de Entity Framework, vous pouviez aussi créer ces types complexes. L’inconvénient était que vous deviez le faire manuellement, ce qui signifiait que vous deviez vous rendre dans le CSDL (schéma conceptuel) et ajouter le code XML nécessaire pour créer le type complexe. Le problème avec ceci est que, une fois que vous avez créé votre type complexe, on ne pouvait plus ouvrir le designer de l’EDM, parce que celui-ci ne prenait pas en charge les types complexes.

Exemple d’utilisation

Car les exemples sont souvent plus parlants, nous allons ici étudier un cas concret de type complexe.

Prenons une entité « Customer » dans le designer de l’EDMX, ce client possède plusieurs propriétés, notamment celles concernant son adresse :

Ces différentes propriétés sont : Street, PostalCode, City, Country. Ce sont ces éléments que nous allons regrouper en type complexe.

Toujours dans le designer, on sélectionne ces propriétés, et avec un clic droit on sélectionne : « Refactor into new complex type » :

Une fois cette opération effectuée, vous verrez que dans le Model Browser un nouveau type complexe est ajouté. Nous allons renommer ce type complexe avec un nom plus explicite : « Adress », dans lequel nous pourrons retrouver toutes les propriétés précédemment sélectionnées.

On notera aussi que l’entité « Customer » a factorisé ces propriétés avec le type complexe que nous avons créé :

 

Enfin, voici comment utiliser cette entité au sein de notre code C# :

Suggestion d'articles

Partagez:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *