类型映射:从 LINQ to SharePoint 提供程序映射到 .NET

上次修改时间: 2015年3月9日

适用范围: 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

Int32Nullable<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 字段。请参阅 Lookup 字段。

WorkflowEventType

Object

WorkflowStatus

Object

Choice 和 MultiChoice 字段

Choice 和 MultiChoice 字段类型的类型映射取决于是否允许"填充"选项以及有多少个下表中指定的选项。

不允许填充选项并且可用的选项少于 31 个

不允许填充选项并且以及可用的选项多于 30 个

允许填充选项

Choice 字段

一个 Microsoft .NET Framework enum 类型并具有所有可用选项(从 1 开始编号)。enum 包括 Invalid 值 (-1) 和 None 值 (0)。此类命名为 FieldNameChoices,其中 FieldName 是字段的名称。

<-- 与左侧内容相同。

String。(SPMetal 将创建一个包含 String 常量集的密封类,每个可用选项对应一个常量。)

MultiChoice 字段

同上,只不过 enum 进行了标记。

与右侧内容相同 -->

IList<String>。(SPMetal 将创建一个包含 String 常量集的密封类,每个可用选项对应一个常量。)

Lookup 字段

Lookup 和 User 字段的类型映射取决于字段是否允许多个值,以及目标列表是否由 SPMetal(如果目标列表是隐藏的或已将 SPMetal 配置为排除目标列表,则可能不是 SPMetal)生成的代码表示。下表显示了各种可能。

不允许多个值

允许多个值

使用生成的代码表示目标列表

当使用生成的代码表示目标列表时,Lookup 字段不会映射到任何 .NET Framework 基本类型。

SPMetal 将生成一个私有字段类型 EntityRef<TEntity>,其中 TEntity 是目标列表的内容类型,而不是目标列的类型。此属性封装在生成的 TEntity 类型的属性中。

左侧的说明也适用于此处,只不过字段可表示为私有字段和 EntitySet<TEntity> 类型的属性,后者中的 TEntity 是目标列表的内容类型。

不能使用生成的代码表示目标列表

此字段在与对象相关的映射中出现两次:

  • 作为 String 类型的属性(无论将什么 .NET Framework 类型映射到目标列表的目标字段)。

  • 此属性封装一个私有 String 字段。

此外,又生成一个属性/字段对来表示目标列表的 ID 字段。该字段和属性都是 Nullable<T> 类型,其中 T 为 Int32

此字段在与对象相关的映射中出现两次:

  • 作为 IList<T> 属性,其中 T 为 String(无论将什么 .NET Framework 类型映射到目标列表的目标字段)。

  • 此属性封装一个 LookupList<T> 字段,其中 T 为 String

此外,又生成一个 IList<T> 属性和 LookupList<T> 字段对来表示目标列表的 ID 字段。这二者的 T 均为 Nullable<T>,其中 T 为 Int32

备注

User 字段是用户信息列表的 Lookup 字段。该列表是隐藏的,因此默认情况下,SPMetal 不会生成代码来表示它。

请参阅

引用

SPMetal