ObjectContext.CreateEntityKey(String, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria a chave de entidade para um objeto específico, ou devolve a chave de entidade se esta já existir.
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 a que pertence o objeto da entidade.
- entity
- Object
O objeto para o qual a chave da entidade está a ser recuperada.
Devoluções
O EntityKey do objeto.
Exceções
Quando qualquer um dos parâmetros é null.
Quando entitySetName está vazio.
-ou-
Quando o tipo do entity objeto não existe no conjunto de entidades.
-ou-
Quando não entitySetName está totalmente qualificado.
Quando a chave da entidade não pode ser construída com sucesso 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();
}
}
Observações
Se um EntityKey não existir para o entity, o CreateEntityKey método cria uma nova chave para ele.
Este método é usado para determinar se um objeto que tem o mesmo EntityKey está já ligado ao ObjectContext. Se um objeto com o mesmo EntityKey objeto já estiver anexado, é criada uma exceção. Use o CreateEntityKey método para tentar recuperar o EntityKey do objeto destacado antes de chamar o Attach método.