EntityKey Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit une référence durable à un objet qui est une instance d'un type d'entité.
public ref class EntityKey sealed : IEquatable<System::Data::EntityKey ^>
[System.Runtime.Serialization.DataContract(IsReference=true)]
[System.Serializable]
public sealed class EntityKey : IEquatable<System.Data.EntityKey>
[<System.Runtime.Serialization.DataContract(IsReference=true)>]
[<System.Serializable>]
type EntityKey = class
interface IEquatable<EntityKey>
Public NotInheritable Class EntityKey
Implements IEquatable(Of EntityKey)
- Héritage
-
EntityKey
- Attributs
- Implémente
Exemples
Ces exemples vous montrent comment créer et utiliser un EntityKey.
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
Object entity = null;
IEnumerable<KeyValuePair<string, object>> entityKeyValues =
new KeyValuePair<string, object>[] {
new KeyValuePair<string, object>("SalesOrderID", 43680) };
// Create the key for a specific SalesOrderHeader object.
EntityKey key = new EntityKey("AdventureWorksEntities.SalesOrderHeaders", entityKeyValues);
// Get the object from the context or the persisted store by its key.
if (context.TryGetObjectByKey(key, out entity))
{
Console.WriteLine("The requested " + entity.GetType().FullName +
" object was found");
}
else
{
Console.WriteLine("An object with this key " +
"could not be found.");
}
}
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
try
{
// Create the key that represents the order.
EntityKey orderKey =
new EntityKey("AdventureWorksEntities.SalesOrderHeaders",
"SalesOrderID", orderId);
// Create the stand-in SalesOrderHeader object
// based on the specified SalesOrderID.
SalesOrderHeader order = new SalesOrderHeader();
order.EntityKey = orderKey;
// Assign the ID to the SalesOrderID property to matche the key.
order.SalesOrderID = (int)orderKey.EntityKeyValues[0].Value;
// Attach the stand-in SalesOrderHeader object.
context.SalesOrderHeaders.Attach(order);
// Create a new SalesOrderDetail object.
// You can use the static CreateObjectName method (the Entity Framework
// adds this method to the generated entity types) instead of the new operator:
// SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
// Guid.NewGuid(), DateTime.Today));
SalesOrderDetail detail = new SalesOrderDetail
{
SalesOrderID = orderId,
SalesOrderDetailID = 0,
OrderQty = 2,
ProductID = 750,
SpecialOfferID = 1,
UnitPrice = (decimal)2171.2942,
UnitPriceDiscount = 0,
LineTotal = 0,
rowguid = Guid.NewGuid(),
ModifiedDate = DateTime.Now
};
order.SalesOrderDetails.Add(detail);
context.SaveChanges();
}
catch (InvalidOperationException)
{
Console.WriteLine("Ensure that the key value matches the value of the object's ID property.");
}
catch (UpdateException)
{
Console.WriteLine("An error has occurred. Ensure that an object with the '{0}' key value exists.",
orderId);
}
}
Remarques
Les objets EntityKey sont immuables, ce qui signifie qu'ils ne peuvent plus être modifiés une fois construits.
Pour plus d’informations, consultez Utilisation des clés d’entité.
Constructeurs
EntityKey() |
Initialise une nouvelle instance de la classe EntityKey. |
EntityKey(String, IEnumerable<EntityKeyMember>) |
Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d’entités et une collection IEnumerable<T> de EntityKeyMember. |
EntityKey(String, IEnumerable<KeyValuePair<String,Object>>) |
Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d’entités et une collection KeyValuePair générique. |
EntityKey(String, String, Object) |
Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d'entités et une paire de clés d'entités spécifique. |
Champs
EntityNotValidKey |
Objet EntityKey simple qui identifie une entité résultant d'une opération TREAT non réussie. |
NoEntitySetKey |
Singleton EntityKey par lequel une entité en lecture seule est identifiée. |
Propriétés
EntityContainerName |
Obtient ou définit le nom du conteneur d'entités. |
EntityKeyValues |
Obtient ou définit les valeurs de clés associées à cet objet EntityKey. |
EntitySetName |
Obtient ou définit le nom du jeu d'entités. |
IsTemporary |
Obtient une valeur qui indique si l'objet EntityKey est temporaire. |
Méthodes
Equals(EntityKey) |
Retourne une valeur qui indique si cette instance est égale à un objet EntityKey spécifié. |
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. |
GetEntitySet(MetadataWorkspace) |
Obtient le jeu d'entités pour cette clé d'entité à partir de l'espace de travail des métadonnées fourni. |
GetHashCode() |
Sert de fonction de hachage à l'objet EntityKey en cours. GetHashCode() convient à une utilisation dans des algorithmes de hachage et des structures de données comme une table de hachage. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnDeserialized(StreamingContext) |
Méthode d'assistance utilisée pour désérialiser un objet EntityKey. |
OnDeserializing(StreamingContext) |
Méthode d'assistance utilisée pour désérialiser un objet EntityKey. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Opérateurs
Equality(EntityKey, EntityKey) |
Compare deux objets EntityKey. |
Inequality(EntityKey, EntityKey) |
Compare deux objets EntityKey. |