Partager via


Modèle objet Administration : meilleures pratiques et conseils

Cette rubrique récapitule quelques-unes des meilleures pratiques et donne des conseils quant à l'utilisation du modèle objet Administration.

Utilisation des collections du modèle objet Administration

Les collections du modèle objet Administration mettent en œuvre l'interface IEnumerable et fournissent une méthode GetEnumerator() que vous pouvez utiliser pour une simple itération sur la collection. La collection renvoyée est volatile, ce qui signifie que la méthode renvoie juste un instantané des objets de métadonnées. Si un autre utilisateur ou une autre application modifie la collection dans la base de données, par exemple en ajoutant, en modifiant ou en supprimant des éléments, l'instantané n'est plus synchronisé. Ainsi, deux énumérateurs instanciés à partir de la même collection mais pas tout à fait au même moment peuvent renvoyer des instantanés différents de la collection. Ce concept d'itération unique vous incite à créer un instantané au moment où vous en avez besoin.

L'implémentation de l'interface IEnumerable vous permet d'utiliser la sémantique foreach de Microsoft Visual C#. Les deux façons d'utiliser les objets d'une collection sont présentées ci-dessous.

Ces deux méthodes fonctionnent, mais si vous souhaitez accéder à un élément spécifique de la collection, utilisez plutôt la méthode 2 car la liste est indexée. La méthode 2 est également plus rapide dans ce cas, puisque vous n'avez pas à parcourir la collection élément par élément.

Méthode 1

EntityCollection entityColl = mySysInstance.LobSystem.Entities;
      foreach (Entity entity in entityColl)
      {
            if (entity.Name == "ProductModel")
            {
entity.Identifiers.Create("ProductModelID", true, "System.Int32");
                  break;
            }
      }

Méthode 2

IList<Entity> entityCollection= new List<Entity>(mySysInstance.LobSystem.Entities);
      entityCollection[3].Name = "XYZ";

.

Les identificateurs et l'utilisation de GetById() pour obtenir un objet spécifique

Tous les objets de métadonnées ont des identificateurs uniques. Ils restent en vigueur tout au long de la durée de vie d'un package de métadonnées. Autrement dit, si vous supprimez un package puis que vous le réimportez, les objets n'ont plus les mêmes identificateurs ; toutefois, ceux-ci sont toujours uniques.

Les objets de métadonnées fournissent une méthode appelée GetById() que vous pouvez utiliser pour obtenir rapidement une instance spécifique de l'objet si vous connaissez son identificateur. En principe, vous utilisez cette méthode pour conserver l'identificateur d'un objet, ce qui vous permet d'obtenir rapidement cet objet par la suite. La méthode GetById() prend l'identificateur de l'instance. L'exemple de code suivant indique comment vous procurer l'identificateur d'un objet.

IList<Entity> entityCollection = new List<Entity>(mySysInstance.LobSystem.Entities);
Int EID = entityCollection[4].Id;

…

…
//and use it later like this:
Entity e = Entity.GetById(EID);

Voir aussi

Autres ressources

Catalogue de données métiers : modèle de métadonnées