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

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 フィールドの型のマッピングは、選択肢を追加できるかどうか、および使用できる選択肢の数によって決まります。

選択肢を追加できず、30 個以下の選択肢を使用できる

選択肢を追加できず、31 個以上の選択肢を使用できる

選択肢を追加できる

Choice フィールド

使用可能なすべての選択肢が含まれる Microsoft .NET Framework enum 型で、選択肢には 1 から始まる番号が付いています。enum には、Invalid 値 (-1) と None 値 (0) が含まれます。クラスの名前は FieldNameChoices です (FieldName は、フィールド名に置き換えてください)。

<-- 左記と同じ

String (SPMetal により、使用可能な選択肢ごとに 1 つずつ、一連の String 定数が含まれる、シールされたクラスが作成されます)。

MultiChoice フィールド

上記と同じ。ただし、enum にはフラグが設定されます。

右記と同じ -->

IList<String> (SPMetal により、使用可能な選択肢ごとに 1 つずつ、一連の String 定数が含まれる、シールされたクラスが作成されます)。

Lookup フィールド

Lookup フィールドおよび User フィールドの型のマッピングは、フィールドで複数の値が許可されているかどうか、およびターゲット リストが SPMetal で生成されたコードで表されているかどうかによって決まります (ターゲット リストが非表示の場合、または SPMetal がリストを除外するように構成されている場合、コードは生成されない可能性があります)。次の表に、行われる可能性があるマッピングを示します。

複数の値が許可されていない

複数の値が許可されている

生成されたコードでターゲット リストが表されている

生成されたコードでターゲット リストが表されている場合、Lookup フィールドは, .NET Framework の基本型にはマップされません。

SPMetal によって、プライベート フィールド型 EntityRef<TEntity> が生成されます。ここで、TEntity はターゲット列の種類ではなく、ターゲット リストの "コンテンツ タイプ" です。このプロパティは、TEntity 型の生成されたプロパティでラップされます。

左記の説明が適用されますが、フィールドは、プライベート フィールドおよび EntitySet<TEntity> 型のプロパティの両方として表されます。ここで、TEntity はターゲット リストのコンテンツ タイプです。

生成されたコードでターゲット リストが表されていない

フィールドは、オブジェクト リレーショナル マッピングで 2 回表されます。

  • String 型のプロパティとして (ターゲット リストのターゲット フィールドにマップされている .NET Framework 型に左右されない)。

  • プロパティによって String プライベート フィールドがラップされる。

さらに、2 つ目のプロパティとフィールドのペアが生成され、ターゲット リストの ID フィールドが表されます。フィールドとプロパティの両方が Nullable<T> 型です。ここで、T は Int32 です。

フィールドは、オブジェクト リレーショナル マッピングで 2 回表されます。

  • IList<T> プロパティとして。ここで、T は String です (ターゲット リストのターゲット フィールドにマップされている .NET Framework 型に左右されない)。

  • プロパティによって LookupList<T> フィールドがラップされる。ここで、T は String です。

さらに、2 つ目の IList<T> プロパティと LookupList<T> フィールドのペアが生成され、ターゲット リストの ID フィールドが表されます。両方の T は Nullable<T> です。ここで、T は Int32 です。

注意

User フィールドは、ユーザー情報リストに対するルックアップ フィールドです。このリストは非表示なので、既定では、そのリストを表すコードは SPMetal によって生成されません。

関連項目

参照

SPMetal