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 EntityKey objets sont immuables ; autrement dit, une fois qu’ils sont construits, ils ne peuvent pas être modifiés.
Constructeurs
| Nom | Description |
|---|---|
| EntityKey() |
Initialise une nouvelle instance de la classe EntityKey. |
| EntityKey(String, IEnumerable<EntityKeyMember>) |
Initialise une nouvelle instance de la EntityKey classe avec un nom d’ensemble d’entités et une IEnumerable<T> collection d’objets EntityKeyMember . |
| EntityKey(String, IEnumerable<KeyValuePair<String,Object>>) |
Initialise une nouvelle instance de la EntityKey classe avec un nom d’ensemble d’entités et une collection générique KeyValuePair . |
| EntityKey(String, String, Object) |
Initialise une nouvelle instance de la EntityKey classe avec un nom d’ensemble d’entités et une paire de clés d’entité spécifique. |
Champs
| Nom | Description |
|---|---|
| EntityNotValidKey |
Identification simple EntityKey d’une entité résultant d’une opération TREAT ayant échoué. |
| NoEntitySetKey |
Singleton EntityKey par lequel une entité en lecture seule est identifiée. |
Propriétés
| Nom | Description |
|---|---|
| EntityContainerName |
Obtient ou définit le nom du conteneur d’entité. |
| EntityKeyValues |
Obtient ou définit les valeurs de clé associées à ce 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
| Nom | Description |
|---|---|
| Equals(EntityKey) |
Retourne une valeur qui indique si cette instance est égale à une valeur spécifiée EntityKey. |
| Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. |
| GetEntitySet(MetadataWorkspace) |
Obtient l’ensemble d’entités pour cette clé d’entité à partir de l’espace de travail de métadonnées donné. |
| GetHashCode() |
Sert de fonction de hachage pour l’objet actuel EntityKey . GetHashCode() convient aux algorithmes de hachage et aux structures de données, comme une table de hachage. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| OnDeserialized(StreamingContext) |
Méthode d’assistance utilisée pour désérialiser un EntityKey. |
| OnDeserializing(StreamingContext) |
Méthode d’assistance utilisée pour désérialiser un EntityKey. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Opérateurs
| Nom | Description |
|---|---|
| Equality(EntityKey, EntityKey) |
Compare deux objets EntityKey. |
| Inequality(EntityKey, EntityKey) |
Compare deux objets EntityKey. |