Поделиться через


Сопоставление типов: от поставщика LINQ to SharePoint к .NET

Дата последнего изменения: 9 марта 2015 г.

Применимо к: SharePoint Foundation 2010

В этой статье показано, как поставщик LINQ to SharePoint сопоставляет типы полей (столбцов) Microsoft SharePoint Foundation с типами Microsoft .NET Framework.

Таблица соответствия типов

Тип поля

Тип .NET

Примечания

AllDayEvent

Boolean

Attachments

Boolean

Boolean

Boolean

Calculated

Тип возвращаемого значения

Choice

Enum или String

См. раздел Поля Choice и MultiChoice.

Computed

Object

ContentTypeId

Byte[]

Counter

Int32

CrossProjectLink

Boolean

Currency

Double

DateTime

DateTime

File

String

GridChoice

Object

Guid

Guid

Integer

Int32 или Nullable<T>, где T — это Int32.

Lookup

См. раздел Поля Lookup.

MaxItems

Object

ModStat

Object

MultiChoice

Enum с флагом или String

См. раздел Поля Choice и MultiChoice.

Note

String

Number

Double

PageSeparator

Object

Recurrence

Boolean

Text

String

ThreadIndex

Object

Threading

Object

URL

String

User

Поле User — это поле подстановки для списка сведений о пользователе (который по умолчанию является скрытым списком). См. раздел Поля Lookup.

WorkflowEventType

Object

WorkflowStatus

Object

Поля Choice и MultiChoice

Сопоставление типов для полей типа Choice и MultiChoice зависит от того, разрешено ли замещение вариантов и сколько вариантов указано в этой таблице.

Замещение вариантов запрещено и доступно менее 31 варианта

Замещение вариантов запрещено и доступно более 30 вариантов

Замещение вариантов разрешено

Поля Choice

Тип Microsoft .NET Framework enum со всеми доступными вариантами, пронумерованными, начиная с 1. Перечисление включает значение Invalid (-1) и значение None (0). Класс называется имя_поляChoices, где имя_поля — это имя объекта.

< — то же что и слева.

String. (SPMetal создает запечатанный класс с набором констант String, по одной для каждого доступного варианта.)

Поля MultiChoice

То же, что и предыдущий, но перечисление имеет флаг.

То же, что и справа — >.

IList<String>. (SPMetal создает запечатанный класс с набором констант String, по одной для каждого доступного варианта.)

Поля Lookup

Сопоставление типов для полей Lookup и User зависит от того, допускает ли поле несколько значений и представлен ли целевой список в коде, созданном SPMetal, чего может не быть, если целевой список скрыт или в конфигурации SPMetal этот список исключен. В следующей таблице показаны возможные значения.

Несколько значений не допускается

Разрешено несколько значений

Целевой список представлен в созданном коде

Когда в созданном коде представлен целевой список, поле Lookup не соответствует ни какому базовому типу .NET Framework.

SPMetal создает тип частного поля EntityRef<TEntity>, где TEntity — это тип контента целевого списка, а не тип целевого столбца. Это свойство помещается в оболочку созданного свойства типа TEntity.

Замечания справа также применимы к данной ситуации, за исключением того, что поле представлено как частное и как свойство типа EntitySet<TEntity>, где TEntity — это тип контента целевого списка.

Целевой список не представлен в созданном коде

Это поле представлено дважды в объектно-реляционном сопоставлении:

  • Как свойство типа String (независимо от того, какой тип .NET Framework сопоставлен с целевым полем целевого списка).

  • Это свойство является оболочкой для частного поля String.

Кроме того, создается вторая пара свойство/поле, представляющая идентификатор поля в целевом списке. И поле, и свойство имеют тип Nullable<T>, где T — это Int32.

Это поле представлено дважды в объектно-реляционном сопоставлении:

  • Как свойство типа IList<T>, где T — это String, (независимо от того, какой тип .NET Framework сопоставлен с целевым полем целевого списка).

  • Свойство является оболочкой для поля LookupList<T>, где T — это String.

Кроме того, создается вторая пара из свойства IList<T> и поля LookupList<T>, представляющая идентификатор поля в целевом списке. И для поля, и для свойства T является Nullable<T>, где T — это Int32.

ПримечаниеПримечание

Поле User является полем подстановки для Списка сведений о пользователе. Последний скрыт, поэтому по умолчанию средство SPMetal не создает код для его представления.

См. также

Ссылка

SPMetal