RelationshipManager 클래스

정의

개체 컨텍스트에서 개체 간의 관계를 추적하는 데 사용됩니다.Used to track relationships between objects in the object context.

public ref class RelationshipManager
[System.Serializable]
public class RelationshipManager
type RelationshipManager = class
Public Class RelationshipManager
상속
RelationshipManager
특성

예제

이 항목의 예제는 기준으로 합니다 AdventureWorks Sales 모델합니다.The example in this topic is based on the AdventureWorks Sales Model. 이 예제에서는 새로 추가 SalesOrderHeader 엔터티는 Contact 엔터티.The example adds new SalesOrderHeader entities to the Contact entity. 그런 다음 관련된 end를 모두 가져오고는 Contact 엔터티와 각 관련 end의 관계 이름, 소스 역할 이름 및 대상 역할 이름을 표시 합니다.Then it gets all related ends from the Contact entity and displays the relationship name, source role name, and target role name for each related end.

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)
    {
        Console.WriteLine("Relationship Name: {0}", relEnd.RelationshipName);
        Console.WriteLine("Source Role Name: {0}", relEnd.SourceRoleName);
        Console.WriteLine("Target Role Name: {0}", relEnd.TargetRoleName);
    }
}
Using context As New AdventureWorksEntities()
    Dim contact As New Contact()

    ' Create a new SalesOrderHeader. 
    Dim newSalesOrder1 As New SalesOrderHeader()
    ' Add SalesOrderHeader to the Contact. 
    contact.SalesOrderHeaders.Add(newSalesOrder1)

    ' Create another SalesOrderHeader. 
    Dim newSalesOrder2 As New SalesOrderHeader()
    ' Add SalesOrderHeader to the Contact. 
    contact.SalesOrderHeaders.Add(newSalesOrder2)

    ' Get all related ends 
    Dim relEnds As IEnumerable(Of IRelatedEnd) = DirectCast(contact, IEntityWithRelationships).RelationshipManager.GetAllRelatedEnds()

    For Each relEnd As IRelatedEnd In relEnds
        Console.WriteLine("Relationship Name: {0}", relEnd.RelationshipName)
        Console.WriteLine("Source Role Name: {0}", relEnd.SourceRoleName)
        Console.WriteLine("Target Role Name: {0}", relEnd.TargetRoleName)
    Next
End Using

설명

RelationshipManager는 개체 컨텍스트에서 개체 간의 관계를 추적하는 데 사용됩니다.RelationshipManager is used to track relationships between objects in an object context. 개체 컨텍스트에서 추적되는 각 관계에 대해 하나의 RelationshipManager 클래스 인스턴스가 있습니다.There is one instance of the RelationshipManager class for each relationship tracked in the object context. 관계는 개념적 모델의 연결에 의해 정의 됩니다.Relationships are defined by associations in a conceptual model. 자세한 내용은 Association 요소(CSDL)를 참조하십시오.For more information, see Association Element (CSDL).

메서드

Create(IEntityWithRelationships)

RelationshipManager 개체를 만듭니다.Creates a new RelationshipManager object.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetAllRelatedEnds()

관계 관리자에서 관리하는 모든 관련 End의 열거형을 반환합니다.Returns an enumeration of all the related ends managed by the relationship manager.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetRelatedCollection<TTargetEntity>(String, String)

지정된 관계 이름 및 대상 역할 이름을 사용하여 관련 개체의 EntityCollection<TEntity>을 가져옵니다.Gets an EntityCollection<TEntity> of related objects with the specified relationship name and target role name.

GetRelatedEnd(String, String)

관계에서 지정된 대상 역할에 대한 올바른 형식의 EntityCollection<TEntity> 또는 EntityReference<TEntity>를 반환합니다.Returns either an EntityCollection<TEntity> or EntityReference<TEntity> of the correct type for the specified target role in a relationship.

GetRelatedReference<TTargetEntity>(String, String)

관계 이름 및 대상 역할 이름의 지정된 조합을 사용하여 관련 개체의 EntityReference<TEntity>를 가져옵니다.Gets the EntityReference<TEntity> for a related object by using the specified combination of relationship name and target role name.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InitializeRelatedCollection<TTargetEntity>(String, String, EntityCollection<TTargetEntity>)

매개 변수가 없는 생성자를 사용하여 만들어진 기존 EntityCollection<TEntity>를 초기화합니다.Initializes an existing EntityCollection<TEntity> that was created by using the parameterless constructor.

InitializeRelatedReference<TTargetEntity>(String, String, EntityReference<TTargetEntity>)

매개 변수가 없는 생성자를 사용하여 만들어진 기존 EntityReference<TEntity>를 초기화합니다.Initializes an existing EntityReference<TEntity> that was created by using the parameterless constructor.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
OnDeserialized(StreamingContext)

RelationshipManager 인스턴스와 함께 엔터티 개체를 deserialize하기 위해 내부적으로 사용됩니다.Used internally to deserialize entity objects along with the RelationshipManager instances.

OnSerializing(StreamingContext)

serialize된 관계를 사용하여 이진 serialization에 대한 EntityKey를 준비하기 위해 개체 서비스에서 호출됩니다.Called by Object Services to prepare an EntityKey for binary serialization with a serialized relationship.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

적용 대상