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 метод создает для него новый ключ.
Этот метод используется, чтобы определить, присоединен ли уже объект, который имеет такой же ключ EntityKey, к классу ObjectContext или нет. Если объект, который имеет такой же ключ EntityKey, уже присоединен, вызывается исключение. Используйте метод CreateEntityKey, чтобы пытаться получить ключ EntityKey отсоединенного объекта перед тем, как вызвать метод Attach.