ObjectContext.CreateEntityKey(String, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea la clave de entidad para un objeto determinado o devuelve la clave de entidad si ya 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
El nombre completo del conjunto de entidades al que pertenece el objeto entidad.
- entity
- Object
Objeto cuya clave de entidad se recupera.
Devoluciones
El objeto EntityKey del objeto.
Excepciones
Cuando cualquiera de los parámetros es null
.
Cuando entitySetName
está vacío.
o bien
Cuando el tipo del objeto entity
no existe en el conjunto de entidades.
o bien
Cuando entitySetName
no es un nombre completo.
Cuando la clave de entidad no se puede construir correctamente basándose en los parámetros proporcionados.
Ejemplos
En este ejemplo, se usa CreateEntityKey para recuperar la clave de entidad de un 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();
}
}
Comentarios
Si no existe entity
para EntityKey , el CreateEntityKey método crea una nueva clave para él.
Este método se usa para determinar si un objeto que tiene la misma EntityKey ya está asociado al ObjectContext. Si un objeto que tiene la misma EntityKey ya está asociado, se produce una excepción. Use el método CreateEntityKey para intentar recuperar la EntityKey del objeto desasociado antes llamar al método Attach.