EntityReference<TEntity> Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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) |