ObjectContext.CreateEntityKey(String, Object) Метод

Определение

Создает ключ сущности для определенного объекта или возвращает ключ сущности, если он уже существует.

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

Параметры

entitySetName
String

Полное имя объекта, к которому принадлежит объект сущности.

entity
Object

Объект, для которого извлекается ключ сущности.

Возвращаемое значение

Объект EntityKey .

Исключения

Если любой параметр имеет значение null.

Если entitySetName значение пусто.

–или–

Если тип entity объекта не существует в наборе сущностей.

–или–

Если он entitySetName не является полным.

Если ключ сущности не может быть успешно создан на основе предоставленных параметров.

Примеры

В этом примере CreateEntityKey используется для извлечения ключа сущности существующего объекта.

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();
    }
}

Комментарии

Если для EntityKey него не существует entity, CreateEntityKey метод создает для него новый ключ.

Этот метод используется для определения того, подключен ObjectContextли объект, имеющий то же самоеEntityKey. Если объект, имеющий то же самое EntityKey , уже подключен, создается исключение. CreateEntityKey Используйте метод, чтобы попытаться получить EntityKey отсоединяемый объект перед вызовом Attach метода.

Применяется к