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, wenn dieser bereits existiert.
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 voll qualifizierte Name der Entitätenmenge, der das Entitätsobjekt angehört.
- entity
- Object
Das Objekt, für das der Entitätsschlüssel abgerufen wird.
Gibt zurück
Der EntityKey des Objekts.
Ausnahmen
Wenn einer der Parameter null
ist.
Wenn entitySetName
leer ist.
- oder -
Wenn der Typ des entity
-Objekts in der Entitätenmenge nicht vorhanden ist.
- oder -
Wenn der entitySetName
nicht voll qualifiziert ist.
Wenn der Entitätsschlüssel anhand der angegebenen Parameter nicht erstellt werden kann.
Beispiele
In diesem Beispiel wird CreateEntityKey verwendet, 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 nicht vorhanden ist, erstellt die entity
CreateEntityKey -Methode einen neuen Schlüssel dafür.
Mit dieser Methode wird ermittelt, ob ein Objekt mit demselben EntityKey bereits an den ObjectContext angefügt wurde. Wenn ein Objekt mit demselben EntityKey bereits angefügt wurde, wird eine Ausnahme ausgelöst. Verwenden Sie die CreateEntityKey-Methode, um den EntityKey des getrennten Objekts abzurufen, bevor Sie die Attach-Methode aufrufen.