EntityReference<TEntity> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje související konec přidružení s násobností nula nebo jedna.
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
Parametry typu
- TEntity
Typ entity odkazu.
- Dědičnost
- Atributy
Příklady
Tento příklad ukazuje, jak pomocí objektu EntityReference<TEntity> změnit relaci mezi objektem SalesOrderHeader
a souvisejícím Address
objektem, který představuje dodací adresu pro objednávku.
// 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);
}
Poznámky
Objekt EntityReference<TEntity> je vrácen navigační vlastností, pokud související konec má násobnost nula nebo jedna. Další informace najdete v tématu NavigationProperty – element (CSDL).
Objekt EntityReference<TEntity> může mít odpovídající EntityCollection<TEntity> (relace 1:N) nebo EntityReference<TEntity> (relace 1:1) na druhém konci relace. Pokud model EntityReference<TEntity> a model, který EntityCollection<TEntity> je protichůdný ke stejnému vztahu, je integrita relace zachována na úrovni objektu.
Tato třída se nemůže dědit.
Konstruktory
EntityReference<TEntity>() |
Vytvoří novou instanci položky EntityReference<TEntity>. |
Vlastnosti
EntityKey |
Vrátí klíč pro související objekt. (Zděděno od EntityReference) |
IsLoaded |
Získá hodnotu, která označuje, zda byly načteny všechny související objekty. (Zděděno od RelatedEnd) |
RelationshipName |
Získá název relace, ve které se tento související konec účastní. (Zděděno od RelatedEnd) |
RelationshipSet |
Získá odkaz na metadata pro související konec. (Zděděno od RelatedEnd) |
SourceRoleName |
Získá název role na zdrojovém konci relace. (Zděděno od RelatedEnd) |
TargetRoleName |
Získá název role na cílovém konci relace. (Zděděno od RelatedEnd) |
Value |
Získá nebo nastaví související objekt vrácený tímto EntityReference<TEntity>objektem . |
Metody
Attach(TEntity) |
Vytvoří relaci M:1 nebo 1:1 mezi dvěma objekty v kontextu objektu. |
Attach<TEntity>(IEnumerable<TEntity>, Boolean) |
Definuje relaci mezi dvěma připojenými objekty. (Zděděno od RelatedEnd) |
CreateSourceQuery() |
Vytvoří ekvivalentní dotaz objektu, který vrátí související objekt. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetEnumerator() |
Vrátí hodnotu , IEnumerator která prochází kolekci souvisejících objektů. (Zděděno od RelatedEnd) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
Load() |
Při přepsání v odvozené třídě načte související objekt nebo objekty na související konec s výchozí možností sloučení. (Zděděno od RelatedEnd) |
Load(MergeOption) |
Načte související objekt pro tento EntityReference<TEntity> se zadanou možností sloučení. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean) |
Sloučí související entity do místního EntityCollection<TEntity>. (Zděděno od RelatedEnd) |
OnDeserialized(StreamingContext) |
Používá se interně k deserializaci objektů entit spolu s RelationshipManager instancemi. (Zděděno od RelatedEnd) |
OnRefDeserialized(StreamingContext) |
Tato metoda se používá interně k serializaci objektů souvisejících entit. |
OnSerializing(StreamingContext) |
Tato metoda se používá interně k serializaci objektů souvisejících entit. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean) |
Určuje, zda lze objekt připojit k místní kolekci nebo odkazu. (Zděděno od RelatedEnd) |
ValidateLoad<TEntity>(MergeOption, String) |
Zajišťuje, aby související objekty nebo objekty mohly být úspěšně načteny do místní kolekce nebo odkazu. (Zděděno od RelatedEnd) |
ValidateOwnerForAttach() |
Zajišťuje, že objekt, ke kterému patří související konec, podporuje operaci připojení. (Zděděno od RelatedEnd) |
Událost
AssociationChanged |
Vyvolá se při změně souvisejícího konce. (Zděděno od RelatedEnd) |
Explicitní implementace rozhraní
IRelatedEnd.Add(IEntityWithRelationships) |
Přidá objekt na související konec. (Zděděno od RelatedEnd) |
IRelatedEnd.Add(Object) |
Přidá objekt na související konec. (Zděděno od RelatedEnd) |
IRelatedEnd.Attach(IEntityWithRelationships) |
Připojí objekt na související konec. (Zděděno od RelatedEnd) |
IRelatedEnd.Attach(Object) |
Připojí objekt ke souvisejícímu konci. (Zděděno od RelatedEnd) |
IRelatedEnd.CreateSourceQuery() |
Vrátí hodnotu IEnumerable , která představuje objekty, které patří do souvisejícího konce. (Zděděno od RelatedEnd) |
IRelatedEnd.Remove(IEntityWithRelationships) |
Odebere objekt z kolekce na souvisejícím konci. (Zděděno od RelatedEnd) |
IRelatedEnd.Remove(Object) |
Odebere objekt ze souvisejícího konce, pokud je objekt součástí souvisejícího konce. (Zděděno od RelatedEnd) |