Le Schéma est le Contexte Métier de notre application, avec lequel nous allons travailler tout au long du développement et de la configuration de nos Applications.
Il représente les données manipulées par les Applications, qu'il s'agisse de données stockées dans une base ou dans un fichier, ou bien des données affichées dans une IHM.
Toutes ces données ont la caractéristique d'être relationnelles, c'est-à-dire qu'elles ont des relations entre elles. C'est principalement cette caractéristique que le schéma nous aide à représenter.
Le schéma fait partie intégrante du développement, il fait partie des Dll de l'application. Il sert à la fois de Documentation et de représentation de ce métier dans le code et la configuration.
Il a été réalisé avec la technologie DSL Tool de Microsoft, et est donc, à ce titre, un plug-in de Visual Studio 2005 ou 2008.
Pour le Schéma AdventureWorks, nous allons travailler avec quelques tables du domaine Production essentiellement.
1/ Dans Visual Studio créons un Nouveau Projet. Choisissons le Template Class Library, qui permet de créer une DLL. Nommons le projet DemoADWSchema. Cliquez sur OK

2/ Le projet est créé. Vous pouvez supprimer la Class1, créée par défaut. Ajoutez des Références vers AspectizeCore.dll et SmartBlocksCore.dll qui se trouvent dans le sous-répertoire Aspectize.Core du répertoire d’installation.
3/ Lla propriété « Copy Local » doit être à False pour les 2 références (ceci est important pour que le chargement se fasse dans de bonnes conditions)

4/ Ajoutons un nouvel élément dans le projet, basé sur le Template Aspectize Schéma. Nommons le fichier ADWSchema.Entities

5/ La Zone 1 est la surface du Schéma, là où est représenté le modèle. La Zone 2 est la boite à outils (ToolBox), à partir de laquelle vous créez les éléments. La Zone 3 est la fenêtre de propriétés (Properties) dans laquelle vous renseignez les différentes propriétés des éléments du Schéma.
6/ Renseignons la propriété Domain du Schéma avec la valeur « AdventureWorks ». C’est le nom logique avec lequel nous adresserons le Schéma, qui sert également de NameSpace pour nos Entités.

7/ Créons une Entity et nommons là Category. Par défaut, une Entity a un champ ID de type Guid, représenté par le symbole
, que nous allons utiliser (cela fait partie des modifications faites à la base de données originales AdventureWorks).

8/ Dans la fenêtre des propriétés :· Le champ Guid Identifier à True indique que nous souhaitons travailler avec un Guid· Le champ Physical Name reste vide.
Le Physical Name est le nom physique de la table dans la base de données. Dans notre exemple, la table s’appelle ProductCategory, qui est le même que son nom logique ici.
