ObjectContext.CreateEntityKey(String, Object) Methode
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.
Erstellt den Entitätsschlüssel für ein bestimmtes Objekt oder gibt den Entitätsschlüssel zurück, falls er bereits vorhanden ist.
public:
System::Data::EntityKey ^ CreateEntityKey(System::String ^ entitySetName, System::Object ^ entity);
public System.Data.EntityKey CreateEntityKey(string entitySetName, object entity);
member this.CreateEntityKey : string * obj -> System.Data.EntityKey
Public Function CreateEntityKey (entitySetName As String, entity As Object) As EntityKey
Parameter
- entitySetName
- String
Der vollqualifizierte Name der Entität, zu der das Entitätsobjekt gehört.
- entity
- Object
Das Objekt, für das der Entitätsschlüssel abgerufen wird.
Gibt zurück
Das EntityKey Objekt.
Ausnahmen
Wenn eines der Parameter lautet null.
Ist entitySetName leer.
- oder -
Wenn der Typ des entity Objekts nicht im Entitätssatz vorhanden ist.
- oder -
Wenn dies entitySetName nicht vollqualifizierte ist.
Wenn der Entitätsschlüssel nicht basierend auf den angegebenen Parametern erfolgreich erstellt werden kann.
Beispiele
In diesem Beispiel wird verwendet, CreateEntityKey um den Entitätsschlüssel eines vorhandenen Objekts abzurufen.
private static void ApplyItemUpdates(SalesOrderDetail updatedItem)
{
// Define an ObjectStateEntry and EntityKey for the current object.
EntityKey key = default(EntityKey);
object originalItem = null;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Create the detached object's entity key.
key = context.CreateEntityKey("SalesOrderDetails", updatedItem);
// Get the original item based on the entity key from the context
// or from the database.
if (context.TryGetObjectByKey(key, out originalItem))
{
// Call the ApplyCurrentValues method to apply changes
// from the updated item to the original version.
context.ApplyCurrentValues(key.EntitySetName, updatedItem);
}
context.SaveChanges();
}
}
Hinweise
Wenn für EntityKey die entityMethode kein Vorhanden ist, erstellt die CreateEntityKey Methode einen neuen Schlüssel dafür.
Diese Methode wird verwendet, um zu bestimmen, ob ein Objekt, das dasselbe EntityKey aufweist, bereits an die ObjectContext. Wenn ein Objekt, das dasselbe EntityKey aufweist, bereits angefügt ist, wird eine Ausnahme ausgelöst. Verwenden Sie die CreateEntityKey Methode, um das losgelöste Objekt abzurufen EntityKey , bevor Sie die Attach Methode aufrufen.