ObjectContext.CreateEntityKey(String, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria a chave da entidade para um objeto específico ou retorna a chave da entidade se ela já existe.
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
Parâmetros
- entitySetName
- String
O nome totalmente qualificado do conjunto de entidades ao qual o objeto de entidade pertence.
- entity
- Object
O objeto para o qual a chave da entidade está sendo recuperada.
Retornos
O EntityKey do objeto.
Exceções
Quando um parâmetro é null
.
Quando entitySetName
está vazio.
- ou -
Quando o tipo do objeto entity
não existe no conjunto de entidades.
- ou -
Quando o entitySetName
não é totalmente qualificado.
Quando a chave da entidade não puder ser construída com êxito com base nos parâmetros fornecidos.
Exemplos
Neste exemplo, CreateEntityKey é usado para recuperar a chave de entidade de um objeto existente.
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();
}
}
Comentários
Se um EntityKey não existir para o entity
, o CreateEntityKey método criará uma nova chave para ele.
Esse método é usado para determinar se um objeto que tem o mesmo EntityKey já está anexado ao ObjectContext. Se um objeto que tem o mesmo EntityKey já estiver anexado, uma exceção será gerada. Use o CreateEntityKey método para tentar recuperar o EntityKey do objeto desanexado antes de chamar o Attach método .