EntityCollection<TEntity>.Contains(TEntity) Méthode

Définition

Détermine si un objet spécifique existe dans la collection.

public:
 virtual bool Contains(TEntity entity);
public bool Contains (TEntity entity);
abstract member Contains : 'Entity -> bool
override this.Contains : 'Entity -> bool
Public Function Contains (entity As TEntity) As Boolean

Paramètres

entity
TEntity

Objet à rechercher dans EntityCollection<TEntity>.

Retours

true si l'objet est trouvé dans EntityCollection<TEntity> ; sinon, false.

Implémente

Exemples

Cet exemple est basé sur le modèle de vente Adventure Works Sales Model. Pour exécuter le code de cet exemple, vous devez déjà avoir ajouté le modèle de vente AdventureWorks Sales Model à votre projet et configuré ce dernier pour qu’il utilise Entity Framework. Pour ce faire, suivez les procédures décrites dans Guide pratique pour configurer manuellement un projet Entity Framework et Guide pratique pour définir manuellement le modèle et les fichiers de mappage.

L'exemple réalise les actions suivantes :

  1. Crée deux nouvelles entités SalesOrderHeader et les ajoute à l'entité Contact.

  2. Obtient toutes les terminaisons connexes à partir de l'objet RelationshipManager associé à l'entité Contact.

  3. Itère au sein de la collection d'objets IRelatedEnd.

  4. Obtient l'objet EntityCollection<TEntity> pour chaque terminaison connexe.

  5. Utilise la méthode Remove pour déplacer l’une des entités à partir de la collection.

  6. Appelle la méthode Contains pour déterminer si l’objet a été supprimé de la collection.

  7. Utilise la méthode Add pour rajouter l'entité.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    Contact contact = new Contact();

    // Create a new SalesOrderHeader.
    SalesOrderHeader newSalesOrder1 = new SalesOrderHeader();
    // Add SalesOrderHeader to the Contact.
    contact.SalesOrderHeaders.Add(newSalesOrder1);

    // Create another SalesOrderHeader.
    SalesOrderHeader newSalesOrder2 = new SalesOrderHeader();
    // Add SalesOrderHeader to the Contact.
    contact.SalesOrderHeaders.Add(newSalesOrder2);

    // Get all related ends
    IEnumerable<IRelatedEnd> relEnds =
        ((IEntityWithRelationships)contact)
        .RelationshipManager.GetAllRelatedEnds();

    foreach (IRelatedEnd relEnd in relEnds)
    {
        // Get Entity Collection from related end
        EntityCollection<SalesOrderHeader> entityCollection =
            (EntityCollection<SalesOrderHeader>)relEnd;

        Console.WriteLine("EntityCollection count: {0}",
            entityCollection.Count);
        // Remove the first entity object.
        entityCollection.Remove(newSalesOrder1);

        bool contains = entityCollection.Contains(newSalesOrder1);

        // Write the number of items after one entity has been removed
        Console.WriteLine("EntityCollection count after one entity has been removed: {0}",
            entityCollection.Count);

        if (contains == false)
            Console.WriteLine("The removed entity is not in in the collection any more.");

        //Use IRelatedEnd to add the entity back.
        relEnd.Add(newSalesOrder1);
        Console.WriteLine("EntityCollection count after an entity has been added again: {0}",
            entityCollection.Count);
    }
}

Remarques

Utilise la méthode Object.Equals pour comparer l'objet spécifié aux objets déjà dans la collection.

S’applique à