Asignación de tipo: Desde proveedor LINQ a SharePoint hasta .NET

Última modificación: miércoles, 02 de febrero de 2011

Hace referencia a: SharePoint Foundation 2010

En este artículo se muestra cómo el proveedor LINQ to SharePoint asigna los tipos de campo (columna) de Microsoft SharePoint Foundation a tipos de Microsoft .NET Framework.

Tabla de asignación de tipos

Tipo de campo

Tipo .NET

Comentarios

AllDayEvent

Boolean

Datos adjuntos

Boolean

Booleano

Boolean

Calculado

Tipo del valor devuelto

Elección

Enum o String

Vea Campos de una o varias opciones.

Calculado

Object

ContentTypeId

Byte[]

Contador

Int32

CrossProjectLink

Boolean

Moneda

Double

DateTime

DateTime

Archivo

String

GridChoice

Object

Guid

Guid

Entero

Int32 o Nullable<T>, donde T es Int32.

Búsqueda

Vea Campos de búsqueda.

MaxItems

Object

ModStat

Object

MultiChoice

Enum o String marcado

Vea Campos de una o varias opciones.

Nota

String

Número

Double

PageSeparator

Object

Periodicidad

Boolean

Texto

String

ThreadIndex

Object

Subproceso

Object

Dirección URL

String

Usuario

Un campo Usuario es un campo de búsqueda en la Lista de información del usuario (que es una lista oculta de manera predeterminada). Vea Campos de búsqueda.

WorkflowEventType

Object

WorkflowStatus

Object

Campos de una o varias opciones

La asignación de tipos de los tipos de campo de una o varias opciones depende de si se permiten las opciones "Rellenar" y de cuántas opciones haya, como se indica en la siguiente tabla:

Opciones Rellenar no permitidas y menos de 31 opciones disponibles

Opciones Rellenar no permitidas y más de 30 opciones disponibles

Opciones Rellenar permitidas

Campos de opciones

Un tipo de Microsoft .NET Framework enum con todas las opciones disponibles numeradas empezando por 1. La enumeración incluye un valor no válido (-1) y un valor ninguno (0). La clase se denomina FieldNameChoices, donde FieldName es el nombre del campo.

<-- Igual que a la izquierda.

String. (SPMetal crea una clase sealed que contiene un conjunto de constantes String, una para cada opción disponible).

Campos de varias opciones

Igual que el anterior, excepto que se marca la enumeración.

Igual que a la derecha -->

IList<String>. (SPMetal crea una clase sealed que contiene un conjunto de constantes String, una para cada opción disponible).

Campos de búsqueda

La asignación de tipos de los campos Búsqueda y Usuario depende de si el campo permite varios valores o no y de si la lista de objetivo está representada en el código que generó SPMetal; puede que esto no ocurra si se oculta la lista de objetivo o si SPMetal se configura para excluir la lista. En la siguiente tabla se muestran las posibilidades.

Varios valores no permitidos

Varios valores permitidos

La lista de objetivo se representa en el código generado

Cuando la lista de objetivo se representa en el código generado, el campo Búsqueda no se asigna a ningún tipo básico de .NET Framework.

SPMetal genera un tipo de campo privado EntityRef<TEntity>, donde TEntity es el tipo de contenido de la lista de objetivo, no el tipo de la columna de destino. Esta propiedad está contenida en una propiedad generada de tipo TEntity.

Las observaciones de la izquierda se aplican aquí también, excepto que el campo se representa como un campo privado y como una propiedad de tipo EntitySet<TEntity>, donde TEntity es el tipo de contenido de la lista de objetivo.

La lista de objetivo no se representa en el código generado

El campo se representa dos veces en la asignación objeto-relacional:

  • Como una propiedad de tipo String (independientemente de qué tipo de .NET Framework se asigna al campo de destino de la lista de objetivo).

  • La propiedad contiene un campo privado String.

Además, se genera un segundo par de propiedad y campo para representar el campo Id. de la lista de objetivo. El campo y la propiedad son de tipo Nullable<T>, donde T es Int32.

El campo se representa dos veces en la asignación objeto-relacional:

  • Como una propiedad IList<T>, donde T es String (independientemente de qué tipo de .NET Framework se asigna al campo de destino de la lista de objetivo).

  • La propiedad contiene un campo LookupList<T>, donde T es String.

Además, se genera un segundo par de propiedad IList<T> y campo LookupList<T> para representar el campo Id. de la lista de objetivo. Para ambos, T es Nullable<T>, donde T es Int32.

Nota

Un campo Usuario es un campo de búsqueda en la Lista de información del usuario. Esta última está oculta, por lo que de manera predeterminada SPMetal no genera código para representarla.

Vea también

Referencia

SPMetal