Partager via


EntityRef<TEntity> - Classe

Offre différé Maintenance de chargement et relation pour le côté singleton d'une relation un-à-plusieurs.

Hiérarchie d’héritage

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

Espace de noms :  Microsoft.SharePoint.Linq
Assembly :  Microsoft.SharePoint.Linq (dans Microsoft.SharePoint.Linq.dll)

Syntaxe

'Déclaration
<DataContractAttribute> _
Public NotInheritable Class EntityRef(Of TEntity As Class) _
    Implements ICloneable
'Utilisation
Dim instance As EntityRef(Of TEntity)
[DataContractAttribute]
public sealed class EntityRef<TEntity> : ICloneable
where TEntity : class

Paramètres de type

  • TEntity
    Le type de l'entité sur le côté singleton de la relation.

Remarques

Par exemple, supposons qu'il une liste de clients possède une colonne SalesRepresentative est un champ liste de choix dans une liste Du personnel de ventes . Chaque client possède une valeurs représentatives, alors seulement seul ventes sont autorisées dans le champ SalesRepresentative ; mais de nombreux clients sont affectés au même représentant, il s'agit d'une relation plusieurs-à-un. Pour implémenter le chargement différé, la propriété ClientRepresentative encapsule un champ privé EntityRef<TEntity> , où TEntity est SalesStaff, plutôt qu'un champ de type SalesStaff privé.

Exemples

L'exemple suivant illustre l'implémentation du scénario décrit ci-dessus :

[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

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

EntityRef<TEntity> - Membres

Microsoft.SharePoint.Linq - Espace de noms