Nyelv

EntityCollection<TEntity>.Contains(TEntity) Metódus

Definíció

Meghatározza, hogy létezik-e egy adott objektum a gyűjteményben.

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

Paraméterek

entity
TEntity

Az objektum, amely a .- EntityCollection<TEntity>ban található.

Válaszok

trueha az objektum a ; egyéb helyen találhatóEntityCollection<TEntity>. false

Megvalósítás

Példák

Ez a példa az Adventure Works értékesítési modellen alapul. A jelen példában szereplő kód futtatásához már hozzá kell adnia az AdventureWorks értékesítési modelljét a projekthez, és konfigurálnia kell a projektet az Entity Framework használatára. Ehhez végezze el a Hogyan is végezze el a következő lépéseket: Entitás-keretrendszer manuális konfigurálása Project és Hogyan: A modell és a leképezési fájlok manuális megadása.

Ez a példa a következőket teszi:

  1. Két új SalesOrderHeader entitást hoz létre, és hozzáadja őket az Contact entitáshoz.

  2. Lekéri az összes kapcsolódó végpontot a RelationshipManager Partner entitáshoz társítottak közül.

  3. Iterates keresztül gyűjtemény s IRelatedEnd.

  4. Lekéri az EntityCollection<TEntity> egyes kapcsolódó végpontokat.

  5. A metódus használatával Remove eltávolítja az egyik entitást a gyűjteményből.

  6. Meghívja a Contains metódust annak megállapítására, hogy az objektum el lett-e távolítva a gyűjteményből.

  7. A metódus használatával Add adja vissza az entitást.

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

Megjegyzések

Ezzel a Object.Equals módszerrel hasonlítja össze a megadott objektumot a gyűjteményben már szereplő objektumokkal.

A következőre érvényes: