Поделиться через


Класс EntityRef<TEntity>

Обеспечивает отложенную загрузку и связь для одной стороны отношения «один ко многим».

Иерархия наследования

System.Object
  Microsoft.SharePoint.Linq.EntityRef<TEntity>

Пространство имен:  Microsoft.SharePoint.Linq
Сборка:  Microsoft.SharePoint.Linq (в Microsoft.SharePoint.Linq.dll)

Синтаксис

'Декларация
<DataContractAttribute> _
Public NotInheritable Class EntityRef(Of TEntity As Class) _
    Implements ICloneable
'Применение
Dim instance As EntityRef(Of TEntity)
[DataContractAttribute]
public sealed class EntityRef<TEntity> : ICloneable
where TEntity : class

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

  • TEntity
    Тип сущности, на одной стороны связи.

Замечания

Например пусть существует список клиентов имеет столбец SalesRepresentative , который является полем подстановки в список Сотрудники отдела продаж . Каждый клиент имеет один продажи представитель, поэтому только одного значения, разрешены в поле SalesRepresentative ; но многие клиенты назначаются же представителя, поэтому это отношение многие к одному. Для реализации отложенной загрузки, свойство ClientRepresentative создает оболочку для частных EntityRef<TEntity> поле, где TEntity — SalesStaff, вместо закрытого поля типа SalesStaff.

Примеры

В следующем примере реализация сценарий, описанный выше:

[ContentType(Name="Item", Id="0x01", List="Clients")]
public partial class ClientsItem : Item 
{
    private EntityRef<SalesStaff> _clientRepresentative;

    [Association(Name="ClientRepresentative", Storage="_city", MultivalueType=AssociationType.Single, List="Sales Staff")]
    public SalesStaff ClientRepresentative {
        get {
            return this._clientRepresentative.GetEntity();
        }
        set {
            this._clientRepresentative.SetEntity(value);
        }
    }
    // Other members omitted for readability.

}
<ContentType(Name:="Item", Id:="0x01", List:="Clients")>
Partial Public Class ClientsItem
    Inherits Item
    Private _clientRepresentative As EntityRef(Of SalesStaff)

    <Association(Name:="ClientRepresentative", Storage:="_city", MultivalueType:=AssociationType.Single, List:="Sales Staff")>
    Public Property ClientRepresentative() As SalesStaff
        Get
            Return Me._clientRepresentative.GetEntity()
        End Get
        Set(ByVal value As SalesStaff)
            Me._clientRepresentative.SetEntity(value)
        End Set
    End Property
    ' Other members omitted for readability.

End Class

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы EntityRef<TEntity>

Пространство имен Microsoft.SharePoint.Linq