类型映射:从 LINQ to SharePoint 提供程序映射到 .NET
上次修改时间: 2015年3月9日
适用范围: 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 字段。请参阅 Lookup 字段。 |
|
WorkflowEventType |
||
WorkflowStatus |
Choice 和 MultiChoice 字段
Choice 和 MultiChoice 字段类型的类型映射取决于是否允许"填充"选项以及有多少个下表中指定的选项。
不允许填充选项并且可用的选项少于 31 个 |
不允许填充选项并且以及可用的选项多于 30 个 |
允许填充选项 |
|
---|---|---|---|
Choice 字段 |
一个 Microsoft .NET Framework enum 类型并具有所有可用选项(从 1 开始编号)。enum 包括 Invalid 值 (-1) 和 None 值 (0)。此类命名为 FieldNameChoices,其中 FieldName 是字段的名称。 |
<-- 与左侧内容相同。 |
|
MultiChoice 字段 |
同上,只不过 enum 进行了标记。 |
与右侧内容相同 --> |
IList<String>。(SPMetal 将创建一个包含 String 常量集的密封类,每个可用选项对应一个常量。) |
Lookup 字段
Lookup 和 User 字段的类型映射取决于字段是否允许多个值,以及目标列表是否由 SPMetal(如果目标列表是隐藏的或已将 SPMetal 配置为排除目标列表,则可能不是 SPMetal)生成的代码表示。下表显示了各种可能。
不允许多个值 |
允许多个值 |
|
---|---|---|
使用生成的代码表示目标列表 |
当使用生成的代码表示目标列表时,Lookup 字段不会映射到任何 .NET Framework 基本类型。 SPMetal 将生成一个私有字段类型 EntityRef<TEntity>,其中 TEntity 是目标列表的内容类型,而不是目标列的类型。此属性封装在生成的 TEntity 类型的属性中。 |
左侧的说明也适用于此处,只不过字段可表示为私有字段和 EntitySet<TEntity> 类型的属性,后者中的 TEntity 是目标列表的内容类型。 |
不能使用生成的代码表示目标列表 |
此字段在与对象相关的映射中出现两次: 此外,又生成一个属性/字段对来表示目标列表的 ID 字段。该字段和属性都是 Nullable<T> 类型,其中 T 为 Int32。 |
此字段在与对象相关的映射中出现两次:
此外,又生成一个 IList<T> 属性和 LookupList<T> 字段对来表示目标列表的 ID 字段。这二者的 T 均为 Nullable<T>,其中 T 为 Int32。 |
备注
User 字段是用户信息列表的 Lookup 字段。该列表是隐藏的,因此默认情况下,SPMetal 不会生成代码来表示它。