Condividi tramite


EntityReference<TEntity> Classe

Definizione

Rappresenta un'entità finale correlata di un'associazione con una molteplicità di zero o uno.

generic <typename TEntity>
 where TEntity : class, IEntityWithRelationshipspublic ref class EntityReference sealed : System::Data::Objects::DataClasses::EntityReference
generic <typename TEntity>
 where TEntity : classpublic ref class EntityReference sealed : System::Data::Objects::DataClasses::EntityReference
[System.Runtime.Serialization.DataContract]
[System.Serializable]
public sealed class EntityReference<TEntity> : System.Data.Objects.DataClasses.EntityReference where TEntity : class, IEntityWithRelationships
[System.Runtime.Serialization.DataContract]
[System.Serializable]
public sealed class EntityReference<TEntity> : System.Data.Objects.DataClasses.EntityReference where TEntity : class
[<System.Runtime.Serialization.DataContract>]
[<System.Serializable>]
type EntityReference<'Entity (requires 'Entity : null and 'Entity :> IEntityWithRelationships)> = class
    inherit EntityReference
[<System.Runtime.Serialization.DataContract>]
[<System.Serializable>]
type EntityReference<'Entity (requires 'Entity : null)> = class
    inherit EntityReference
Public NotInheritable Class EntityReference(Of TEntity)
Inherits EntityReference

Parametri di tipo

TEntity

Tipo di entità del riferimento.

Ereditarietà
EntityReference<TEntity>
Attributi

Esempio

In questo esempio viene illustrato come utilizzare l'oggetto EntityReference<TEntity> per modificare una relazione tra un oggetto SalesOrderHeader e un oggetto Address correlato che rappresenta l'indirizzo di spedizione per l'ordine.


// Define the order and new address IDs.
int orderId = 43669;
int addressId = 26;

using (AdventureWorksEntities context
    = new AdventureWorksEntities())
{
    // Get the billing address to change to.
    Address address =
        context.Addresses.Single(c => c.AddressID == addressId);

    // Get the order being changed.
    SalesOrderHeader order =
        context.SalesOrderHeaders.Single(o => o.SalesOrderID == orderId);

    // You do not have to call the Load method to load the addresses for the order,
    // because  lazy loading is set to true
    // by the constructor of the AdventureWorksEntities object.
    // With  lazy loading set to true the related objects are loaded when
    // you access the navigation property. In this case Address.

    // Write the current billing street address.
    Console.WriteLine("Current street: "
        + order.Address.AddressLine1);

    // Change the billing address.
    if (!order.Address.Equals(address))
    {
        // Use Address navigation property to change the association.
        order.Address = address;

        // Write the changed billing street address.
        Console.WriteLine("Changed street: "
            + order.Address.AddressLine1);
    }

    // If the address change succeeds, save the changes.
    context.SaveChanges();

    // Write the current billing street address.
    Console.WriteLine("Current street: "
        + order.Address.AddressLine1);
}

Commenti

Un oggetto EntityReference<TEntity> viene restituito da una proprietà di navigazione quando l'entità finale correlata ha una molteplicità di zero o uno. Per altre informazioni, vedere Elemento NavigationProperty (CSDL).

Un oggetto EntityReference<TEntity> potrebbe avere un oggetto EntityCollection<TEntity> corrispondente (relazione uno-a-molti) o un oggetto EntityReference<TEntity> (relazione uno-a-uno) all'altra entità finale della relazione. Quando EntityReference<TEntity> e EntityCollection<TEntity> modellano le entità finali opposte della stessa relazione, l'integrità della relazione viene mantenuta a livello di oggetto.

La classe non può essere ereditata.

Costruttori

EntityReference<TEntity>()

Crea una nuova istanza di EntityReference<TEntity>.

Proprietà

EntityKey

Restituisce la chiave dell'oggetto correlato.

(Ereditato da EntityReference)
IsLoaded

Ottiene un valore che indica se sono stati caricati tutti gli oggetti correlati.

(Ereditato da RelatedEnd)
RelationshipName

Ottiene il nome della relazione di cui fa parte l'entità finale correlata.

(Ereditato da RelatedEnd)
RelationshipSet

Ottiene un riferimento ai metadati per l'entità finale correlata.

(Ereditato da RelatedEnd)
SourceRoleName

Ottiene il nome del ruolo nell'entità finale di origine della relazione.

(Ereditato da RelatedEnd)
TargetRoleName

Ottiene il nome del ruolo nell'entità finale di destinazione della relazione.

(Ereditato da RelatedEnd)
Value

Ottiene o imposta l'oggetto correlato restituito dall'oggetto EntityReference<TEntity>.

Metodi

Attach(TEntity)

Crea una relazione molti-a-uno o uno-a-uno tra due oggetti nel contesto dell'oggetto.

Attach<TEntity>(IEnumerable<TEntity>, Boolean)

Definisce una relazione tra due oggetti connessi.

(Ereditato da RelatedEnd)
CreateSourceQuery()

Crea una query di oggetto equivalente che restituisce l'oggetto correlato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto IEnumerator con cui è possibile scorrere la raccolta di oggetti correlati.

(Ereditato da RelatedEnd)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Load()

Quando sottoposto a override in una classe derivata, carica l'oggetto o gli oggetti correlati nell'entità finale correlata con l'opzione di merge predefinita.

(Ereditato da RelatedEnd)
Load(MergeOption)

Carica l'oggetto correlato per l'oggetto EntityReference<TEntity> con l'opzione di unione specificata.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Unisce le entità correlate nell'oggetto EntityCollection<TEntity> locale.

(Ereditato da RelatedEnd)
OnDeserialized(StreamingContext)

Utilizzato internamente per deserializzare oggetti entità insieme alle istanze RelationshipManager.

(Ereditato da RelatedEnd)
OnRefDeserialized(StreamingContext)

Tale metodo viene utilizzato internamente per serializzare oggetti entità correlati.

OnSerializing(StreamingContext)

Tale metodo viene utilizzato internamente per serializzare oggetti entità correlati.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Determina se un oggetto può essere collegato alla raccolta o al riferimento locale.

(Ereditato da RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Assicura che l'oggetto o gli oggetti correlati possano essere caricati correttamente nella raccolta o nel riferimento locale.

(Ereditato da RelatedEnd)
ValidateOwnerForAttach()

Assicura che l'oggetto al quale appartiene l'entità finale correlata supporti un'operazione di collegamento.

(Ereditato da RelatedEnd)

Eventi

AssociationChanged

Si verifica quando viene apportata una modifica a un'entità finale correlata.

(Ereditato da RelatedEnd)

Implementazioni dell'interfaccia esplicita

IRelatedEnd.Add(IEntityWithRelationships)

Aggiunge un oggetto all'entità finale correlata.

(Ereditato da RelatedEnd)
IRelatedEnd.Add(Object)

Aggiunge un oggetto all'entità finale correlata.

(Ereditato da RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Connette un oggetto all'entità finale correlata.

(Ereditato da RelatedEnd)
IRelatedEnd.Attach(Object)

Collega un oggetto all'entità finale correlata.

(Ereditato da RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Restituisce un oggetto IEnumerable che rappresenta gli oggetti appartenenti all'entità finale correlata.

(Ereditato da RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Rimuove un oggetto dalla raccolta nell'entità finale correlata.

(Ereditato da RelatedEnd)
IRelatedEnd.Remove(Object)

Rimuove un oggetto dall'entità finale correlata se l'oggetto fa parte dell'entità finale correlata.

(Ereditato da RelatedEnd)

Si applica a