다음을 통해 공유


EntityCollection<TEntity>.Add(TEntity) 메서드

정의

컬렉션에 개체를 추가합니다.

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

매개 변수

entity
TEntity

컬렉션에 추가할 개체입니다. entityIEntityWithRelationships를 구현해야 합니다.

구현

예외

entity이(가) null인 경우

예제

이 예제는 Adventure Works Sales 모델을 기반으로 합니다. 이 예제에서 코드를 실행하려면 프로젝트에 AdventureWorks 판매 모델을 이미 추가하고 Entity Framework를 사용하도록 프로젝트를 구성해야 합니다. 이렇게 하려면 방법: 수동으로 Entity Framework 프로젝트 구성방법: 모델 및 매핑 파일 수동 정의의 절차를 완료합니다.

이 예제에서는 두 개의 새 SalesOrderHeader 엔터티를 만들고 엔터티에 Contact 추가하고 개체를 제거한 후 메서드를 사용하여 Add 개체를 컬렉션에 다시 추가합니다.

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

설명

메서드는 Add 에 개체를 EntityCollection<TEntity> 추가하고 두 개체 간의 관계를 만듭니다. 소스 개체가 인스턴스에 ObjectContext 연결되면 메서드는 Add 개체 ObjectContext도 에 추가합니다. 이 작업은 가 호출될 때 SaveChanges 데이터 원본의 삽입 작업으로 변환됩니다. 자세한 내용은 만들기, 추가, 수정, 및 개체 삭제합니다.

메서드는 Add 동일한 개체 인스턴스에서 여러 번 호출할 수 있습니다.

적용 대상