Сопоставление типов: от поставщика LINQ to SharePoint к .NET
Дата последнего изменения: 9 марта 2015 г.
Применимо к: SharePoint Foundation 2010
В этой статье показано, как поставщик LINQ to SharePoint сопоставляет типы полей (столбцов) Microsoft SharePoint Foundation с типами Microsoft .NET Framework.
Таблица соответствия типов
Тип поля |
Тип .NET |
Примечания |
---|---|---|
AllDayEvent |
||
Attachments |
||
Boolean |
||
Calculated |
Тип возвращаемого значения |
|
Choice |
Enum или String |
См. раздел Поля Choice и MultiChoice. |
Computed |
||
ContentTypeId |
Byte[] |
|
Counter |
||
CrossProjectLink |
||
Currency |
||
DateTime |
||
File |
||
GridChoice |
||
Guid |
||
Integer |
Int32 или Nullable<T>, где T — это Int32. |
|
Lookup |
См. раздел Поля Lookup. |
|
MaxItems |
||
ModStat |
||
MultiChoice |
Enum с флагом или String |
См. раздел Поля Choice и MultiChoice. |
Note |
||
Number |
||
PageSeparator |
||
Recurrence |
||
Text |
||
ThreadIndex |
||
Threading |
||
URL |
||
User |
Поле User — это поле подстановки для списка сведений о пользователе (который по умолчанию является скрытым списком). См. раздел Поля Lookup. |
|
WorkflowEventType |
||
WorkflowStatus |
Поля 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 — это тип контента целевого списка. |
Целевой список не представлен в созданном коде |
Это поле представлено дважды в объектно-реляционном сопоставлении:
Кроме того, создается вторая пара свойство/поле, представляющая идентификатор поля в целевом списке. И поле, и свойство имеют тип Nullable<T>, где T — это Int32. |
Это поле представлено дважды в объектно-реляционном сопоставлении:
Кроме того, создается вторая пара из свойства IList<T> и поля LookupList<T>, представляющая идентификатор поля в целевом списке. И для поля, и для свойства T является Nullable<T>, где T — это Int32. |
![]() |
---|
Поле User является полем подстановки для Списка сведений о пользователе. Последний скрыт, поэтому по умолчанию средство SPMetal не создает код для его представления. |