EntityReference<TEntity> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein verknüpftes Ende einer Zuordnung mit einer Multiplizität von null oder eins dar.
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
[<System.Runtime.Serialization.DataContract>]
[<System.Serializable>]
type EntityReference<'Entity (requires 'Entity : null and 'Entity :> IEntityWithRelationships)> = class
inherit EntityReference
[<System.Runtime.Serialization.DataContract>]
[<System.Serializable>]
type EntityReference<'Entity (requires 'Entity : null)> = class
inherit EntityReference
Public NotInheritable Class EntityReference(Of TEntity)
Inherits EntityReference
Typparameter
- TEntity
Der Entitätstyp des Verweises.
- Vererbung
- 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.
// 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);
}
Hinweise
Eine Navigationseigenschaft gibt ein EntityReference<TEntity>-Objekt zurück, wenn das verknüpfte Ende eine Multiplizität von null oder eins hat. Weitere Informationen finden Sie unter 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. Wenn ein EntityReference<TEntity> und eine EntityCollection<TEntity> entgegengesetzte Enden derselben Beziehung modellieren, wird die Integrität der Beziehung auf der Objektebene bewahrt.
Diese Klasse kann nicht vererbt werden.
Konstruktoren
EntityReference<TEntity>() |
Erstellt eine neue Instanz von EntityReference<TEntity>. |
Eigenschaften
EntityKey |
Gibt den Schlüssel für das verbundene Objekt zurück. (Geerbt von EntityReference) |
IsLoaded |
Ruft einen Wert ab, der angibt, ob alle verknüpften Objekte geladen wurden. (Geerbt von RelatedEnd) |
RelationshipName |
Ruft den Namen der Beziehung ab, der dieses verknüpfte Ende angehört. (Geerbt von RelatedEnd) |
RelationshipSet |
Ruft einen Verweis auf die Metadaten für das verknüpfte Ende ab. (Geerbt von RelatedEnd) |
SourceRoleName |
Ruft den Rollennamen am Quellenende der Beziehung ab. (Geerbt von RelatedEnd) |
TargetRoleName |
Ruft den Rollennamen am Zielende der Beziehung ab. (Geerbt von RelatedEnd) |
Value |
Ruft das von diesem EntityReference<TEntity> zurückgegebene verbundene Objekt ab oder legt dieses fest. |
Methoden
Attach(TEntity) |
Erstellt eine m:1- oder 1:1-Beziehung zwischen zwei Objekten im Objektkontext. |
Attach<TEntity>(IEnumerable<TEntity>, Boolean) |
Definiert eine Beziehung zwischen zwei angefügten Objekten. (Geerbt von RelatedEnd) |
CreateSourceQuery() |
Erstellt eine äquivalente Objektabfrage, die das verbundene Objekt zurückgibt. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetEnumerator() |
Gibt einen IEnumerator zurück, der die Auflistung verbundener Objekte durchläuft. (Geerbt von RelatedEnd) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (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. (Geerbt von RelatedEnd) |
Load(MergeOption) |
Lädt das verbundene Objekt für diesen EntityReference<TEntity> mit der angegebenen Mergeoption. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean) |
Führt verknüpfte Entitäten in der lokalen EntityCollection<TEntity> zusammen. (Geerbt von RelatedEnd) |
OnDeserialized(StreamingContext) |
Wird intern verwendet, um Entitätsobjekte gemeinsam mit den RelationshipManager-Instanzen zu deserialisieren. (Geerbt von RelatedEnd) |
OnRefDeserialized(StreamingContext) |
Diese Methode wird intern verwendet, um verknüpfte Entitätsobjekte zu serialisieren. |
OnSerializing(StreamingContext) |
Diese Methode wird intern verwendet, um verknüpfte Entitätsobjekte zu serialisieren. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean) |
Ermittelt, ob ein Objekt der lokalen Auflistung oder dem lokalen Verweis angefügt werden kann. (Geerbt von RelatedEnd) |
ValidateLoad<TEntity>(MergeOption, String) |
Stellt sicher, dass das verbundene Objekt bzw. die verbundenen Objekte in die lokale Auflistung oder den lokalen Verweis geladen werden können. (Geerbt von RelatedEnd) |
ValidateOwnerForAttach() |
Stellt sicher, dass das Objekt, zu dem das verknüpfte Ende gehört, Anfügevorgänge unterstützt. (Geerbt von RelatedEnd) |
Ereignisse
AssociationChanged |
Tritt auf, wenn an einem verknüpften Ende eine Änderung vorgenommen wird. (Geerbt von RelatedEnd) |
Explizite Schnittstellenimplementierungen
IRelatedEnd.Add(IEntityWithRelationships) |
Fügt dem verknüpften Ende ein Objekt hinzu. (Geerbt von RelatedEnd) |
IRelatedEnd.Add(Object) |
Fügt dem verknüpften Ende ein Objekt hinzu. (Geerbt von RelatedEnd) |
IRelatedEnd.Attach(IEntityWithRelationships) |
Fügt am verknüpften Ende ein Objekt an. (Geerbt von RelatedEnd) |
IRelatedEnd.Attach(Object) |
Fügt ein Objekt an das verknüpftes Ende an. (Geerbt von RelatedEnd) |
IRelatedEnd.CreateSourceQuery() |
Gibt eine IEnumerable zurück, die die zum verknüpften Ende gehörenden Objekte darstellt. (Geerbt von RelatedEnd) |
IRelatedEnd.Remove(IEntityWithRelationships) |
Entfernt ein Objekt aus der Auflistung am verknüpften Ende. (Geerbt von RelatedEnd) |
IRelatedEnd.Remove(Object) |
Entfernt ein Objekt aus dem verknüpften Ende, wenn das Objekt Teil des verknüpften Endes ist. (Geerbt von RelatedEnd) |