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ý chcete vyhledat v objektu EntityCollection<TEntity>.

Návraty

true je-li objekt nalezen v EntityCollection<TEntity>; jinak , false.

Implementuje

Příklady

Tento příklad je založený na prodejním modelu Adventure Works. Pokud chcete kód spustit v tomto příkladu, musíte už do projektu přidat model AdventureWorks Sales Model a nakonfigurovat ho tak, aby používal Entity Framework. Provedete to tak, že dokončíte postupy v : Ruční konfigurace Project a : Ruční definování souborů modelu a mapování.

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

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

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

  3. Iteruje kolekcí IRelatedEnds.

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

  5. Používá 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)
            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žívá metodu Object.Equals k porovnání zadaného objektu s objekty již v kolekci.

Platí pro