EntityKey Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce un riferimento durevole a un oggetto che rappresenta un'istanza di un tipo di 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)
- Ereditarietà
-
EntityKey
- Attributi
- Implementazioni
Esempio
Questi esempi illustrano come creare e usare un oggetto 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);
}
}
Commenti
Gli oggetti EntityKey non sono modificabili, ossia non possono essere modificati dopo essere stati costruiti.
Per altre informazioni, vedere Uso delle chiavi di entità.
Costruttori
EntityKey() |
Inizializza una nuova istanza della classe EntityKey. |
EntityKey(String, IEnumerable<EntityKeyMember>) |
Inizializza una nuova istanza della classe EntityKey con un nome del set di entità e una raccolta IEnumerable<T> di oggetti EntityKeyMember. |
EntityKey(String, IEnumerable<KeyValuePair<String,Object>>) |
Inizializza una nuova istanza della classe EntityKey con un nome del set di entità e una raccolta di KeyValuePair generica. |
EntityKey(String, String, Object) |
Inizializza una nuova istanza della classe EntityKey con un nome del set di entità e una coppia di chiavi di entità specifica. |
Campi
EntityNotValidKey |
Un oggetto EntityKey semplice che identifica un'entità generata da un'operazione TREAT non eseguita correttamente. |
NoEntitySetKey |
Un oggetto EntityKey singleton mediante il quale viene identificata un'entità di sola lettura. |
Proprietà
EntityContainerName |
Ottiene o imposta il nome del contenitore di entità. |
EntityKeyValues |
Ottiene o imposta i valori di chiave associati a questo oggetto EntityKey. |
EntitySetName |
Ottiene o imposta il nome del set di entità. |
IsTemporary |
Ottiene un valore che indica se l'oggetto EntityKey è temporaneo. |
Metodi
Equals(EntityKey) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto EntityKey specificato. |
Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. |
GetEntitySet(MetadataWorkspace) |
Ottiene il set di entità per la chiave di entità presente nell'area di lavoro metadati specificata. |
GetHashCode() |
Viene utilizzato come funzione hash per l'oggetto EntityKey corrente. Il metodo GetHashCode() è adatto per algoritmi hash e strutture dei dati, ad esempio una tabella hash. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnDeserialized(StreamingContext) |
Metodo di supporto utilizzato per deserializzare un oggetto EntityKey. |
OnDeserializing(StreamingContext) |
Metodo di supporto utilizzato per deserializzare un oggetto EntityKey. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Operatori
Equality(EntityKey, EntityKey) |
Confronta due oggetti EntityKey. |
Inequality(EntityKey, EntityKey) |
Confronta due oggetti EntityKey. |