Partager via


Mappage des types : depuis le fournisseur LINQ to SharePoint vers .NET

Dernière modification : mercredi 2 février 2011

S’applique à : SharePoint Foundation 2010

Cet article explique comment le fournisseur LINQ to SharePoint mappe les types de champs (colonnes) Microsoft SharePoint Foundationsur les types Microsoft .NET Framework.

Tableau de mappage des types

Type de champ

Type .NET

Commentaires

AllDayEvent

Boolean

Attachments

Boolean

Boolean

Boolean

Calculated

Type de la valeur retournée

Choice

Enum ou String

Voir Champs Choice et MultiChoice.

Computed

Object

ContentTypeId

Byte[]

Counter

Int32

CrossProjectLink

Boolean

Currency

Double

DateTime

DateTime

File

String

GridChoice

Object

Guid

Guid

Integer

Int32 ou Nullable<T>, ou T est Int32.

Lookup

Voir Champs Lookup.

MaxItems

Object

ModStat

Object

MultiChoice

Enum ou String avec indicateur

Voir Champs Choice et MultiChoice.

Note

String

Number

Double

PageSeparator

Object

Recurrence

Boolean

Text

String

ThreadIndex

Object

Threading

Object

URL

String

User

Un champ User est un champ liste de choix pour la liste d’informations utilisateur (liste masquée par défaut). Voir Champs Lookup.

WorkflowEventType

Object

WorkflowStatus

Object

Champs Choice et MultiChoice

Le mappage des types de champs Choice et MultiChoice est déterminé par le fait que les « remplissages » sont ou non autorisés et par le nombre de choix, comme indiqué dans le tableau suivant :

Remplissages non autorisés et moins de 31 choix disponibles

Remplissages non autorisés et plus de 30 choix disponibles

Remplissages autorisés

Champs Choice

Type enumMicrosoft .NET Framework avec tous les choix disponibles numérotés à partir de 1. L’enum contient une valeur Invalid (-1) et une valeur None (0). La classe est nommée NomChampChoices, où NomChamp est le nom du champ.

<-- Les informations indiquées à gauche s’appliquent.

String. (SPMetal crée une classe sealed qui contient un ensemble de constantes String, à raison d’une par choix disponible.)

Champs MultiChoice

Même chose que précédemment, à ceci près que l’enum possède un indicateur.

Les informations indiquées à droite s’appliquent -->

IList<String>. (SPMetal crée une classe sealed qui contient un ensemble de constantes String, à raison d’une par choix disponible.)

Champs Lookup

Le mappage des types de champs Lookup and User est déterminé par le fait que le champ accepte ou non les valeurs multiples et que la liste cible est représentée ou non dans le code généré par SPMetal ; elle peut ne pas l’être si elle est masquée ou que SPMetal est configuré de manière à l’exclure. Le tableau suivant illustre les différentes possibilités.

Valeurs multiples non autorisées

Valeurs multiples autorisées

La liste cible est représentée dans le code généré

Lorsque la liste cible est représentée dans le code généré, le champ Lookup ne correspond à aucun type de base .NET Framework.

SPMetal génère un type de champ privé EntityRef<TEntity> où le type TEntity représente le type de contenu de la liste cible, pas le type de la colonne cible. Cette propriété est encapsulée dans une propriété de type TEntity générée.

Les remarques indiquées à gauche s’appliquent également ici, à ceci près que le champ est représenté en tant que champ privé et que propriété de type EntitySet<TEntity>, où le type TEntity est le type de contenu de la liste cible.

La liste cible n’est pas représentée dans le code généré

Le champ est représenté deux fois dans le mappage relationnel d’objets :

  • En tant que propriété de type String(indépendamment du type .NET Framework mappé sur le champ cible de la liste cible).

  • La propriété encapsule un champ String privé.

En outre, une deuxième paire propriété/champ est générée pour représenter le champ ID de la liste cible. Le champ et la propriété sont de type Nullable<T>, où T est Int32.

Le champ est représenté deux fois dans le mappage relationnel d’objets :

  • En tant que propriété IList<T>, où T est String (indépendamment du type .NET Framework mappé sur le champ cible de la liste cible).

  • La propriété encapsule un champ LookupList<T>, où T est String.

En outre, une deuxième paire propriété IList<T>/champ LookupList<T> est générée pour représenter le champ ID de la liste cible. Dans les deux cas, T est un Nullable<T>, où T est Int32.

Notes

Un champ User est un champ liste de choix pour la liste d’informations utilisateur . Cette dernière est masquée, si bien que par défaut SPMetal ne génère pas de code pour la représenter.

Voir aussi

Référence

SPMetal