EntityReference<TEntity> Класс

Определение

Представляет связанный конец ассоциации с кратностью нуля или одного.

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

Параметры типа

TEntity

Тип сущности ссылки.

Наследование
EntityReference<TEntity>
Атрибуты

Примеры

В этом примере показано, как использовать EntityReference<TEntity> объект для изменения связи между SalesOrderHeader объектом и соответствующим Address объектом, который представляет адрес доставки для заказа.


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

Комментарии

Объект EntityReference<TEntity> возвращается свойством навигации, если связанный конец имеет кратность нуля или одного. Дополнительные сведения см. в разделе NavigationProperty Element (CSDL).

Объект EntityReference<TEntity> может иметь соответствующую EntityCollection<TEntity> (связь "один ко многим") или EntityReference<TEntity> (связь "один к одному") в другом конце связи. EntityReference<TEntity> Когда модельEntityCollection<TEntity>, противостоящая кончается одной и той же связью, целостность связи сохраняется на уровне объекта.

Этот класс не наследуется.

Конструкторы

Имя Описание
EntityReference<TEntity>()

Создает новый экземпляр EntityReference<TEntity>.

Свойства

Имя Описание
EntityKey

Возвращает ключ для связанного объекта.

(Унаследовано от EntityReference)
IsLoaded

Возвращает значение, указывающее, загружены ли все связанные объекты.

(Унаследовано от RelatedEnd)
RelationshipName

Возвращает имя связи, в которой участвует этот связанный конец.

(Унаследовано от RelatedEnd)
RelationshipSet

Возвращает ссылку на метаданные для связанного конца.

(Унаследовано от RelatedEnd)
SourceRoleName

Возвращает имя роли в конце исходной связи.

(Унаследовано от RelatedEnd)
TargetRoleName

Возвращает имя роли в целевом конце связи.

(Унаследовано от RelatedEnd)
Value

Возвращает или задает связанный объект, возвращаемый этим EntityReference<TEntity>объектом.

Методы

Имя Описание
Attach(TEntity)

Создает связь "многие ко одному" или "один к одному" между двумя объектами в контексте объекта.

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

Определяет связь между двумя присоединенными объектами.

(Унаследовано от RelatedEnd)
CreateSourceQuery()

Создает эквивалентный запрос объекта, возвращающий связанный объект.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Возвращает итерацию IEnumerator по коллекции связанных объектов.

(Унаследовано от RelatedEnd)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
Load()

При переопределении в производном классе загружает связанный объект или объекты в связанный конец с параметром слияния по умолчанию.

(Унаследовано от RelatedEnd)
Load(MergeOption)

Загружает связанный объект для этого EntityReference<TEntity> с указанным параметром слияния.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Объединяет связанные сущности в локальный EntityCollection<TEntity>.

(Унаследовано от RelatedEnd)
OnDeserialized(StreamingContext)

Используется внутренне для десериализации объектов сущностей вместе с RelationshipManager экземплярами.

(Унаследовано от RelatedEnd)
OnRefDeserialized(StreamingContext)

Этот метод используется внутренне для сериализации связанных объектов сущностей.

OnSerializing(StreamingContext)

Этот метод используется внутренне для сериализации связанных объектов сущностей.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Определяет, может ли объект быть присоединен к локальной коллекции или ссылке.

(Унаследовано от RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Гарантирует, что связанные объекты или объекты можно успешно загрузить в локальную коллекцию или ссылку.

(Унаследовано от RelatedEnd)
ValidateOwnerForAttach()

Гарантирует, что объект, к которому принадлежит связанный конец, поддерживает операцию подключения.

(Унаследовано от RelatedEnd)

События

Имя Описание
AssociationChanged

Происходит при изменении связанного конца.

(Унаследовано от RelatedEnd)

Явные реализации интерфейса

Имя Описание
IRelatedEnd.Add(IEntityWithRelationships)

Добавляет объект в связанный конец.

(Унаследовано от RelatedEnd)
IRelatedEnd.Add(Object)

Добавляет объект в связанный конец.

(Унаследовано от RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Присоединяет объект в связанном конце.

(Унаследовано от RelatedEnd)
IRelatedEnd.Attach(Object)

Присоединяет объект к связанному концу.

(Унаследовано от RelatedEnd)
IRelatedEnd.CreateSourceQuery()

Возвращает объект IEnumerable , представляющий объекты, принадлежащие связанному концу.

(Унаследовано от RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Удаляет объект из коллекции в соответствующем конце.

(Унаследовано от RelatedEnd)
IRelatedEnd.Remove(Object)

Удаляет объект из связанного конца, если объект является частью связанного конца.

(Унаследовано от RelatedEnd)

Применяется к