EntityCollection<TEntity>.Contains(TEntity) Metodo

Definizione

Determina se nella raccolta è presente un oggetto specifico.

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

Parametri

entity
TEntity

Oggetto da individuare nella raccolta EntityCollection<TEntity>.

Restituisce

true se l'oggetto si trova in EntityCollection<TEntity>; in caso contrario, false.

Implementazioni

Esempio

Questo esempio è basato sul modello Sales di Adventure Works. Per eseguire il codice incluso in questo esempio, è necessario avere già aggiunto il modello Sales di Adventure Works al progetto e avere configurato il progetto per l'utilizzo di Entity Framework. A tale scopo, completare le procedure in Procedura: Configurare manualmente un progetto Entity Frameworke Procedura: Definire manualmente il modello e i file di mapping.

In questo esempio vengono eseguite le operazioni seguenti:

  1. Vengono create due nuove entità SalesOrderHeader che vengono aggiunte all'entità Contact.

  2. Vengono ottenute tutte le entità finali correlate dall'oggetto RelationshipManager associato all'entità Contact.

  3. Viene scorsa la raccolta di oggetti IRelatedEnd.

  4. Viene ottenuto l'oggetto EntityCollection<TEntity> per ogni entità finale correlata.

  5. Viene utilizzato il metodo Remove per rimuovere un'entità dalla raccolta.

  6. Viene chiamato il metodo Contains per determinare se l'oggetto è stato rimosso dalla raccolta.

  7. Viene utilizzato il metodo Add per aggiungere nuovamente 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);
    }
}

Commenti

Utilizza il metodo Object.Equals per confrontare l'oggetto specificato con gli oggetti già presenti nella raccolta.

Si applica a