EntityCollection<TEntity>.Contains(TEntity) Metoda

Definice

Určuje, zda v kolekci existuje konkrétní objekt.

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

Parametry

entity
TEntity

Objekt, který se má vyhledat v objektu EntityCollection<TEntity>.

Návraty

true pokud se objekt nachází v objektu EntityCollection<TEntity>, jinak hodnota false.

Implementuje

Příklady

Tento příklad je založený na prodejním modelu Adventure Works. Chcete-li spustit kód v tomto příkladu, musíte již přidat AdventureWorks Sales Model do projektu a nakonfigurovat projekt tak, aby používal Entity Framework. Provedete to provedením postupů v tématu Postupy: Ruční konfigurace projektu Entity Framework a Postupy: Ruční definování modelu a souborů mapování.

Tento příklad provede následující:

  1. Vytvoří dvě nové SalesOrderHeader entity a přidá je do entity Contact .

  2. Získá všechny související konce z objektu RelationshipManager , který je přidružen k entitě Kontakt.

  3. Iteruje kolekcí IRelatedEnds.

  4. Získá pro EntityCollection<TEntity> každý související konec.

  5. Použije metodu Remove k odebrání jedné z entit z kolekce.

  6. Volá metodu Contains k určení, zda byl objekt odebrán z kolekce.

  7. Použije metodu Add k přidání entity zpět.

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

Poznámky

Použije metodu Object.Equals k porovnání zadaného objektu s objekty, které jsou již v kolekci.

Platí pro