EntityReference<TEntity> Klasse

Definition

Stellt ein verknüpftes Ende einer Zuordnung mit einer Multiplizität von null oder eins dar.Represents a related end of an association with a multiplicity of zero or one.

generic <typename TEntity>
 where TEntity : class, IEntityWithRelationshipspublic ref class EntityReference sealed : System::Data::Objects::DataClasses::EntityReference
generic <typename TEntity>
 where TEntity : classpublic ref class EntityReference sealed : System::Data::Objects::DataClasses::EntityReference
[System.Runtime.Serialization.DataContract]
[System.Serializable]
public sealed class EntityReference<TEntity> : System.Data.Objects.DataClasses.EntityReference where TEntity : class, IEntityWithRelationships
[System.Runtime.Serialization.DataContract]
[System.Serializable]
public sealed class EntityReference<TEntity> : System.Data.Objects.DataClasses.EntityReference where TEntity : class
type EntityReference<'Entity (requires 'Entity : null and 'Entity :> IEntityWithRelationships)> = class
    inherit EntityReference
type EntityReference<'Entity (requires 'Entity : null)> = class
    inherit EntityReference
Public NotInheritable Class EntityReference(Of TEntity)
Inherits EntityReference

Typparameter

TEntity

Der Entitätstyp des Verweises.The entity type of the reference.

Vererbung
EntityReference<TEntity>
Attribute

Beispiele

In diesem Beispiel wird aufgezeigt, wie das EntityReference<TEntity>-Objekt verwendet wird, um die Beziehung zwischen einem SalesOrderHeader-Objekt und einem verbundenen Address-Objekt zu ändern, das die Lieferadresse der Bestellung darstellt.This example shows how to use the EntityReference<TEntity> object to change a relationship between a SalesOrderHeader object and a related Address object that represents the shipping address for the order.


// Define the order and new address IDs.
int orderId = 43669;
int addressId = 26;

using (AdventureWorksEntities context
    = new AdventureWorksEntities())
{
    // Get the billing address to change to.
    Address address =
        context.Addresses.Single(c => c.AddressID == addressId);

    // Get the order being changed.
    SalesOrderHeader order =
        context.SalesOrderHeaders.Single(o => o.SalesOrderID == orderId);

    // You do not have to call the Load method to load the addresses for the order,
    // because  lazy loading is set to true 
    // by the constructor of the AdventureWorksEntities object. 
    // With  lazy loading set to true the related objects are loaded when
    // you access the navigation property. In this case Address.

    // Write the current billing street address.
    Console.WriteLine("Current street: "
        + order.Address.AddressLine1);

    // Change the billing address.
    if (!order.Address.Equals(address))
    {
        // Use Address navigation property to change the association.
        order.Address = address;

        // Write the changed billing street address.
        Console.WriteLine("Changed street: "
            + order.Address.AddressLine1);
    }

    // If the address change succeeds, save the changes.
    context.SaveChanges();

    // Write the current billing street address.
    Console.WriteLine("Current street: "
        + order.Address.AddressLine1);
}

' Define the order and new address IDs. 
Dim orderId As Integer = 43669
Dim addressId As Integer = 26

Using context As New AdventureWorksEntities()
    ' Get the billing address to change to. 
    Dim address As Address = context.Addresses.Single(Function(c) c.AddressID = addressId)

    ' Get the order being changed. 
    Dim order As SalesOrderHeader = context.SalesOrderHeaders.Single(Function(o) o.SalesOrderID = orderId)

    ' You do not have to call the Load method to load the addresses for the order, 
    ' because lazy loading is set to true 
    ' by the constructor of the AdventureWorksEntities object. 
    ' With lazy loading set to true the related objects are loaded when 
    ' you access the navigation property. In this case Address. 

    ' Write the current billing street address. 
    Console.WriteLine("Current street: " & order.Address.AddressLine1)

    ' Change the billing address. 
    If Not order.Address.Equals(address) Then
        ' Use Address navigation property to change the association. 
        order.Address = address

        ' Write the changed billing street address. 
        Console.WriteLine("Changed street: " & order.Address.AddressLine1)
    End If

    ' If the address change succeeds, save the changes. 
    context.SaveChanges()

    ' Write the current billing street address. 
    Console.WriteLine("Current street: " & order.Address.AddressLine1)
End Using

Hinweise

Eine Navigationseigenschaft gibt ein EntityReference<TEntity>-Objekt zurück, wenn das verknüpfte Ende eine Multiplizität von null oder eins hat.An EntityReference<TEntity> object is returned by a navigation property when the related end has a multiplicity of zero or one. Weitere Informationen finden Sie unter NavigationProperty-Element (CSDL).For more information, see NavigationProperty Element (CSDL).

Zu einem EntityReference<TEntity>-Objekt kann eine EntityCollection<TEntity> (1:n-Beziehung) oder ein EntityReference<TEntity> (1:1-Beziehung) am anderen Ende der Beziehung gehören.An EntityReference<TEntity> object might have a corresponding EntityCollection<TEntity> (one-to-many relationship) or EntityReference<TEntity> (one-to-one relationship) at the other end of the relationship. Wenn ein EntityReference<TEntity> und eine EntityCollection<TEntity> entgegengesetzte Enden derselben Beziehung modellieren, wird die Integrität der Beziehung auf der Objektebene bewahrt.When an EntityReference<TEntity> and an EntityCollection<TEntity> model opposing ends of the same relationship, the integrity of the relationship is maintained at the object level.

Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

Konstruktoren

EntityReference<TEntity>()

Erstellt eine neue Instanz von EntityReference<TEntity>.Creates a new instance of EntityReference<TEntity>.

Eigenschaften

EntityKey

Gibt den Schlüssel für das verbundene Objekt zurück.Returns the key for the related object.

(Geerbt von EntityReference)
IsLoaded

Ruft einen Wert ab, der angibt, ob alle verbundenen Objekte geladen wurden.Gets a value that indicates whether all related objects have been loaded.

(Geerbt von RelatedEnd)
RelationshipName

Ruft den Namen der Beziehung ab, der dieses verknüpfte Ende angehört.Gets the name of the relationship in which this related end participates.

(Geerbt von RelatedEnd)
RelationshipSet

Ruft einen Verweis auf die Metadaten für das verknüpfte Ende ab.Gets a reference to the metadata for the related end.

(Geerbt von RelatedEnd)
SourceRoleName

Ruft den Rollennamen am Quellenende der Beziehung ab.Gets the role name at the source end of the relationship.

(Geerbt von RelatedEnd)
TargetRoleName

Ruft den Rollennamen am Zielende der Beziehung ab.Gets the role name at the target end of the relationship.

(Geerbt von RelatedEnd)
Value

Ruft das von diesem EntityReference<TEntity> zurückgegebene verbundene Objekt ab oder legt dieses fest.Gets or sets the related object returned by this EntityReference<TEntity>.

Methoden

Attach(TEntity)

Erstellt eine m:1- oder 1:1-Beziehung zwischen zwei Objekten im Objektkontext.Creates a many-to-one or one-to-one relationship between two objects in the object context.

Attach<TEntity>(IEnumerable<TEntity>, Boolean)

Definiert eine Beziehung zwischen zwei angefügten Objekten.Defines a relationship between two attached objects.

(Geerbt von RelatedEnd)
CreateSourceQuery()

Erstellt eine äquivalente Objektabfrage, die das verbundene Objekt zurückgibt.Creates an equivalent object query that returns the related object.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetEnumerator()

Gibt einen IEnumerator zurück, der die Auflistung verbundener Objekte durchläuft.Returns an IEnumerator that iterates through the collection of related objects.

(Geerbt von RelatedEnd)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
Load()

Lädt, wenn in einer abgeleiteten Klasse überschrieben, ein oder mehrere verbundene Objekte mit der voreingestellten Mergeoption in das verknüpfte Ende.When overridden in a derived class, loads the related object or objects into the related end with the default merge option.

(Geerbt von RelatedEnd)
Load(MergeOption)

Lädt das verbundene Objekt für diesen EntityReference<TEntity> mit der angegebenen Mergeoption.Loads the related object for this EntityReference<TEntity> with the specified merge option.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Führt verknüpfte Entitäten in der lokalen EntityCollection<TEntity> zusammen.Merges related entities into the local EntityCollection<TEntity>.

(Geerbt von RelatedEnd)
OnDeserialized(StreamingContext)

Wird intern verwendet, um Entitätsobjekte gemeinsam mit den RelationshipManager-Instanzen zu deserialisieren.Used internally to deserialize entity objects along with the RelationshipManager instances.

(Geerbt von RelatedEnd)
OnRefDeserialized(StreamingContext)

Diese Methode wird intern verwendet, um verknüpfte Entitätsobjekte zu serialisieren.This method is used internally to serialize related entity objects.

OnSerializing(StreamingContext)

Diese Methode wird intern verwendet, um verknüpfte Entitätsobjekte zu serialisieren.This method is used internally to serialize related entity objects.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Ermittelt, ob ein Objekt der lokalen Sammlung oder dem lokalen Verweis angefügt werden kann.Determines whether an object can be attached to the local collection or reference.

(Geerbt von RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Stellt sicher, dass die verknüpften Objekte erfolgreich in die lokale Auflistung oder den lokalen Verweis geladen werden können.Ensures that the related object or objects can be successfully loaded into the local collection or reference.

(Geerbt von RelatedEnd)
ValidateOwnerForAttach()

Stellt sicher, dass das Objekt, zu dem das verknüpfte Ende gehört, Anfügevorgänge unterstützt.Ensures that the object to which the related end belongs supports an attach operation.

(Geerbt von RelatedEnd)

Ereignisse

AssociationChanged

Tritt auf, wenn an einem verknüpften Ende eine Änderung vorgenommen wird.Occurs when a change is made to a related end.

(Geerbt von RelatedEnd)

Explizite Schnittstellenimplementierungen

IRelatedEnd.Add(IEntityWithRelationships)

Fügt dem verknüpften Ende ein Objekt hinzu.Adds an object to the related end.

(Geerbt von RelatedEnd)
IRelatedEnd.Add(Object)

Fügt dem verknüpften Ende ein Objekt hinzu.Adds an object to the related end.

(Geerbt von RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Fügt am verknüpften Ende ein Objekt an.Attaches an object at the related end.

(Geerbt von RelatedEnd)
IRelatedEnd.Attach(Object)

Fügt ein Objekt an das verknüpftes Ende an.Attaches an object to the related end.

(Geerbt von RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Gibt eine IEnumerable zurück, die die zum verknüpften Ende gehörenden Objekte darstellt.Returns an IEnumerable that represents the objects that belong to the related end.

(Geerbt von RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Entfernt ein Objekt aus der Auflistung am verknüpften Ende.Removes an object from the collection at the related end.

(Geerbt von RelatedEnd)
IRelatedEnd.Remove(Object)

Entfernt ein Objekt aus dem verknüpften Ende, wenn das Objekt Teil des verknüpften Endes ist.Removes an object from the related end if the object is part of the related end.

(Geerbt von RelatedEnd)

Gilt für: