ObjectContext.CreateEntityKey(String, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy klucz jednostki dla określonego obiektu lub zwraca klucz jednostki, jeśli już istnieje.
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
Parametry
- entitySetName
- String
W pełni kwalifikowana nazwa zestawu jednostek, do którego należy obiekt jednostki.
- entity
- Object
Obiekt, dla którego jest pobierany klucz jednostki.
Zwraca
Obiekt EntityKey .
Wyjątki
Gdy dowolny parametr ma wartość null
.
Gdy entitySetName
wartość jest pusta.
-lub-
Jeśli typ entity
obiektu nie istnieje w zestawie jednostek.
-lub-
Gdy element nie jest w pełni kwalifikowany entitySetName
.
Jeśli nie można pomyślnie skonstruować klucza jednostki na podstawie podanych parametrów.
Przykłady
W tym przykładzie CreateEntityKey jest używany do pobierania klucza jednostki istniejącego obiektu.
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();
}
}
Uwagi
Jeśli element EntityKey nie istnieje dla entity
metody , CreateEntityKey metoda tworzy dla niego nowy klucz.
Ta metoda służy do określania, czy obiekt, który ma to samo EntityKey , jest już dołączony do obiektu ObjectContext. Jeśli obiekt, który ma to samo EntityKey , jest już dołączony, zgłaszany jest wyjątek. CreateEntityKey Użyj metody , aby spróbować pobrać EntityKey obiekt odłączony przed wywołaniem Attach metody .