EntityCollection<TEntity>.Add(TEntity) Metoda

Definice

Přidá objekt do kolekce.

public:
 virtual void Add(TEntity entity);
public void Add(TEntity entity);
override this.Add : 'Entity -> unit
Public Sub Add (entity As TEntity)

Parametry

entity
TEntity

Objekt, který chcete přidat do kolekce. entity musí implementovat IEntityWithRelationships.

Implementuje

Výjimky

entity je null.

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 vytvoří dvě nové SalesOrderHeader entity, přidá je do Contact entity a po odebrání objektu Add použije metodu k přidání objektu zpět do kolekce.

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

Metoda Add přidá objekt do objektu EntityCollection<TEntity> a vytvoří relaci mezi těmito dvěma objekty. Pokud je zdrojový objekt připojen k ObjectContext instanci, Add metoda také přidá objekt do ObjectContext. Tato operace se přeloží do operace vložení ve zdroji dat, když SaveChanges je volána. Další informace naleznete v tématu Vytváření, přidávání, úpravy a odstraňování objektů.

Metodu Add lze volat vícekrát ve stejné instanci objektu.

Platí pro