Freigeben über


EntityCollection<TEntity>.Contains(TEntity) Methode

Definition

Ermittelt, ob die Auflistung ein bestimmtes Objekt enthält.

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

Parameter

entity
TEntity

Das im EntityCollection<TEntity> zu suchende Objekt.

Gibt zurück

true, wenn das Objekt in EntityCollection<TEntity> gefunden wird, andernfalls false.

Implementiert

Beispiele

Dieses Beispiel beruht auf dem AdventureWorks Sales-Modell. Zum Ausführen des Codes in diesem Beispiel müssen Sie dem Projekt bereits das AdventureWorks Sales-Modell hinzugefügt und das Projekt zur Verwendung des Entity Framework konfiguriert haben. Führen Sie hierzu die Verfahren unter Vorgehensweise: Manuelles Konfigurieren eines Entity Framework-Projekts und Vorgehensweise: Manuelles Definieren des Modells und der Zuordnungsdateien aus.

In diesem Beispiel werden die folgenden Aufgaben ausgeführt:

  1. Zwei neue SalesOrderHeader-Entitäten werden erstellt und der Contact-Entität hinzugefügt.

  2. Ruft alle verknüpften Enden vom RelationshipManager ab, der der "Contact"-Entität zugeordnet ist.

  3. Durchläuft die Auflistung von IRelatedEnd.

  4. Ruft die EntityCollection<TEntity> für jedes verknüpfte Ende ab.

  5. Verwendet die Remove-Methode, um eine der Entitäten aus der Auflistung zu entfernen.

  6. Ruft die Contains-Methode auf, um zu ermitteln, ob das Objekt aus der Auflistung entfernt wurde.

  7. Verwendet die Add-Methode, um die Entität erneut hinzuzufügen.

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);
    }
}

Hinweise

Verwendet die Object.Equals-Methode, um das angegebene Objekt mit den bereits in der Auflistung enthaltenen Objekten zu vergleichen.

Gilt für: