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

Definição

Determina se existe um objeto específico na coleção.

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

Parâmetros

entity
TEntity

O objeto a localizar no EntityCollection<TEntity>.

Devoluções

true se o objeto for encontrado no EntityCollection<TEntity>; caso contrário, false.

Implementações

Exemplos

Este exemplo baseia-se no Modelo de Vendas da Adventure Works. Para executar o código neste exemplo, deve já ter adicionado o AdventureWorks Sales Model ao seu projeto e configurado o seu projeto para usar o Entity Framework. Para isso, complete os procedimentos em Como: Configurar manualmente um Entity Framework Project e Como: Definir manualmente o modelo e os ficheiros de mapeamento.

Este exemplo faz o seguinte:

  1. Cria duas novas SalesOrderHeader entidades e adiciona-as à Contact entidade.

  2. Obtém todas as extremidades relacionadas do RelationshipManager que está associado à entidade de contacto.

  3. Itera através da coleção de IRelatedEnds.

  4. Obtém o EntityCollection<TEntity> para cada extremidade relacionada.

  5. Utiliza o Remove método para remover uma das entidades da coleção.

  6. Chama o Contains método para determinar se o objeto foi removido da coleção.

  7. Usa o Add método para adicionar a entidade de volta.

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

Observações

Utiliza o Object.Equals método para comparar o objeto especificado com os objetos já presentes na coleção.

Aplica-se a