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

线程安全性

该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。

另请参阅

引用

EntityRef<TEntity> 成员

Microsoft.SharePoint.Linq 命名空间