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í nuly nebo jedné.
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 vztah mezi objektem SalesOrderHeader a souvisejícím Address objektem, který představuje dodací adresu objednávky.
// 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 naleznete v tématu NavigationProperty – element (CSDL).
Objekt EntityReference<TEntity> může mít odpovídající EntityCollection<TEntity> vztah (relace 1:N) nebo EntityReference<TEntity> (relace 1:1) na druhém konci relace. Když a EntityReference<TEntity>EntityCollection<TEntity> model protichůdný konec stejné relace, integrita relace se udržuje na úrovni objektu.
Tato třída se nemůže dědit.
Konstruktory
| Name | Description |
|---|---|
| EntityReference<TEntity>() |
Vytvoří novou instanci .EntityReference<TEntity> |
Vlastnosti
| Name | Description |
|---|---|
| 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>. |
Metody
| Name | Description |
|---|---|
| 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í objektový dotaz, který vrátí související objekt. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetEnumerator() |
IEnumerator Vrátí iterace prostřednictvím kolekce souvisejících objektů. (Zděděno od RelatedEnd) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type 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> objekt se zadanou možností sloučení. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean) |
Sloučí související entity do místního EntityCollection<TEntity>objektu . (Zděděno od RelatedEnd) |
| OnDeserialized(StreamingContext) |
Používá se interně k deserializaci objektů entity spolu s RelationshipManager instancemi. (Zděděno od RelatedEnd) |
| OnRefDeserialized(StreamingContext) |
Tato metoda se používá interně k serializaci souvisejících objektů entity. |
| OnSerializing(StreamingContext) |
Tato metoda se používá interně k serializaci souvisejících objektů entity. |
| 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 odkaz. (Zděděno od RelatedEnd) |
| ValidateLoad<TEntity>(MergeOption, String) |
Zajišťuje úspěšné načtení souvisejícího objektu nebo objektů do místní kolekce nebo odkazu. (Zděděno od RelatedEnd) |
| ValidateOwnerForAttach() |
Zajišťuje, že objekt, ke kterému související konec patří, podporuje operaci připojení. (Zděděno od RelatedEnd) |
Událost
| Name | Description |
|---|---|
| AssociationChanged |
Nastane, když se provede změna souvisejícího konce. (Zděděno od RelatedEnd) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IRelatedEnd.Add(IEntityWithRelationships) |
Přidá objekt do souvisejícího konce. (Zděděno od RelatedEnd) |
| IRelatedEnd.Add(Object) |
Přidá objekt do souvisejícího konce. (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í objekty IEnumerable , které patří ke souvisejícímu konci. (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) |