EntityReference<TEntity> Klass

Definition

Representerar en relaterad ände av en association med en multiplicitet på noll eller en.

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

Typparametrar

TEntity

Referensens entitetstyp.

Arv
EntityReference<TEntity>
Attribut

Exempel

Det här exemplet visar hur du använder EntityReference<TEntity> objektet för att ändra en relation mellan ett SalesOrderHeader objekt och ett relaterat Address objekt som representerar leveransadressen för ordern.


// 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);
}

Kommentarer

Ett EntityReference<TEntity> objekt returneras av en navigeringsegenskap när den relaterade änden har en multiplicitet på noll eller en. Mer information finns i CsDL (NavigationProperty Element).

Ett EntityReference<TEntity> objekt kan ha en motsvarande EntityCollection<TEntity> (en-till-många-relation) eller EntityReference<TEntity> (en-till-en-relation) i den andra änden av relationen. När en EntityReference<TEntity> och en EntityCollection<TEntity> modell som motsätter sig slutet av samma relation bibehålls relationens integritet på objektnivå.

Det går inte att ärva den här klassen.

Konstruktorer

Name Description
EntityReference<TEntity>()

Skapar en ny instans av EntityReference<TEntity>.

Egenskaper

Name Description
EntityKey

Returnerar nyckeln för det relaterade objektet.

(Ärvd från EntityReference)
IsLoaded

Hämtar ett värde som anger om alla relaterade objekt har lästs in.

(Ärvd från RelatedEnd)
RelationshipName

Hämtar namnet på den relation som den här relaterade änden deltar i.

(Ärvd från RelatedEnd)
RelationshipSet

Hämtar en referens till metadata för den relaterade änden.

(Ärvd från RelatedEnd)
SourceRoleName

Hämtar rollnamnet i källslutet av relationen.

(Ärvd från RelatedEnd)
TargetRoleName

Hämtar rollnamnet i målslutet av relationen.

(Ärvd från RelatedEnd)
Value

Hämtar eller anger det relaterade objektet som returneras av detta EntityReference<TEntity>.

Metoder

Name Description
Attach(TEntity)

Skapar en många-till-en- eller en-till-en-relation mellan två objekt i objektkontexten.

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

Definierar en relation mellan två kopplade objekt.

(Ärvd från RelatedEnd)
CreateSourceQuery()

Skapar en motsvarande objektfråga som returnerar det relaterade objektet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetEnumerator()

Returnerar en IEnumerator som itererar genom samlingen med relaterade objekt.

(Ärvd från RelatedEnd)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
Load()

När det åsidosättas i en härledd klass läser du in det relaterade objektet eller objekten i den relaterade änden med alternativet för standardsammanfogning.

(Ärvd från RelatedEnd)
Load(MergeOption)

Läser in det relaterade objektet för detta EntityReference<TEntity> med det angivna kopplingsalternativet.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Sammanfogar relaterade entiteter till den lokala EntityCollection<TEntity>.

(Ärvd från RelatedEnd)
OnDeserialized(StreamingContext)

Används internt för att deserialisera entitetsobjekt tillsammans med RelationshipManager instanserna.

(Ärvd från RelatedEnd)
OnRefDeserialized(StreamingContext)

Den här metoden används internt för att serialisera relaterade entitetsobjekt.

OnSerializing(StreamingContext)

Den här metoden används internt för att serialisera relaterade entitetsobjekt.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Avgör om ett objekt kan kopplas till den lokala samlingen eller referensen.

(Ärvd från RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Säkerställer att det relaterade objektet eller objekten kan läsas in i den lokala samlingen eller referensen.

(Ärvd från RelatedEnd)
ValidateOwnerForAttach()

Säkerställer att objektet som den relaterade änden tillhör stöder en kopplingsåtgärd.

(Ärvd från RelatedEnd)

Händelser

Name Description
AssociationChanged

Inträffar när en ändring görs i ett relaterat slut.

(Ärvd från RelatedEnd)

Explicita gränssnittsimplementeringar

Name Description
IRelatedEnd.Add(IEntityWithRelationships)

Lägger till ett objekt i den relaterade änden.

(Ärvd från RelatedEnd)
IRelatedEnd.Add(Object)

Lägger till ett objekt i den relaterade änden.

(Ärvd från RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Bifogar ett objekt i den relaterade änden.

(Ärvd från RelatedEnd)
IRelatedEnd.Attach(Object)

Bifogar ett objekt till den relaterade änden.

(Ärvd från RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Returnerar ett IEnumerable objekt som representerar de objekt som tillhör den relaterade änden.

(Ärvd från RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Tar bort ett objekt från samlingen i den relaterade änden.

(Ärvd från RelatedEnd)
IRelatedEnd.Remove(Object)

Tar bort ett objekt från den relaterade änden om objektet är en del av den relaterade änden.

(Ärvd från RelatedEnd)

Gäller för