EntityCollection<TEntity>.Add(TEntity) Methode

Definition

Fügt der Auflistung ein Objekt hinzu.

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

Parameter

entity
TEntity

Ein Objekt, das der Auflistung hinzugefügt werden soll. entity muss implementiert werden IEntityWithRelationships.

Implementiert

Ausnahmen

entity ist null.

Beispiele

Dieses Beispiel basiert auf dem Adventure Works-Vertriebsmodell. Um den Code in diesem Beispiel auszuführen, müssen Sie ihrem Projekt bereits das AdventureWorks Sales Model hinzugefügt und ihr Projekt so konfiguriert haben, dass es das Entity Framework verwendet. Führen Sie dazu die Verfahren in How to: Manually Configure an Entity Framework Project and How to: Manually Define the Model and Mapping Files.

In diesem Beispiel werden zwei neue SalesOrderHeader Entitäten erstellt, der Contact Entität hinzugefügt und nach dem Entfernen eines Objekts die Add Methode verwendet, um das Objekt wieder zur Auflistung hinzuzufügen.

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

Hinweise

Die Add Methode fügt einem Objekt ein und EntityCollection<TEntity> erstellt eine Beziehung zwischen den beiden Objekten. Wenn das Quellobjekt an eine ObjectContext Instanz angefügt wird, fügt die Add Methode auch das Objekt dem ObjectContext. Dieser Vorgang wird beim SaveChanges Aufrufen in einen Einfügevorgang in der Datenquelle übersetzt. Weitere Informationen finden Sie unter Erstellen, Hinzufügen, Ändern und Löschen von Objekten.

Die Add Methode kann mehrmals in derselben Objektinstanz aufgerufen werden.

Gilt für: