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 |
||
Attachments |
||
Boolean |
||
Calculated |
Type de la valeur retournée |
|
Choice |
Enum ou String |
Voir Champs Choice et MultiChoice. |
Computed |
||
ContentTypeId |
Byte[] |
|
Counter |
||
CrossProjectLink |
||
Currency |
||
DateTime |
||
File |
||
GridChoice |
||
Guid |
||
Integer |
Int32 ou Nullable<T>, ou T est Int32. |
|
Lookup |
Voir Champs Lookup. |
|
MaxItems |
||
ModStat |
||
MultiChoice |
Enum ou String avec indicateur |
Voir Champs Choice et MultiChoice. |
Note |
||
Number |
||
PageSeparator |
||
Recurrence |
||
Text |
||
ThreadIndex |
||
Threading |
||
URL |
||
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 |
||
WorkflowStatus |
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 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 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.