クエリの実行に基づき、指定された変更メソッドのデリゲートを使用して、指定された DataServiceContext を使用する DataServiceCollection<T> クラスの新しいインスタンスを作成します。
名前空間: System.Data.Services.Client
アセンブリ: Microsoft.Data.Services.Client (Microsoft.Data.Services.Client.dll)
構文
'宣言
Public Sub New ( _
context As DataServiceContext, _
items As IEnumerable(Of T), _
trackingMode As TrackingMode, _
entitySetName As String, _
entityChangedCallback As Func(Of EntityChangedParams, Boolean), _
collectionChangedCallback As Func(Of EntityCollectionChangedParams, Boolean) _
)
'使用
Dim context As DataServiceContext
Dim items As IEnumerable(Of T)
Dim trackingMode As TrackingMode
Dim entitySetName As String
Dim entityChangedCallback As Func(Of EntityChangedParams, Boolean)
Dim collectionChangedCallback As Func(Of EntityCollectionChangedParams, Boolean)
Dim instance As New DataServiceCollection(context, _
items, trackingMode, entitySetName, _
entityChangedCallback, collectionChangedCallback)
public DataServiceCollection(
DataServiceContext context,
IEnumerable<T> items,
TrackingMode trackingMode,
string entitySetName,
Func<EntityChangedParams, bool> entityChangedCallback,
Func<EntityCollectionChangedParams, bool> collectionChangedCallback
)
public:
DataServiceCollection(
DataServiceContext^ context,
IEnumerable<T>^ items,
TrackingMode trackingMode,
String^ entitySetName,
Func<EntityChangedParams^, bool>^ entityChangedCallback,
Func<EntityCollectionChangedParams^, bool>^ collectionChangedCallback
)
new :
context:DataServiceContext *
items:IEnumerable<'T> *
trackingMode:TrackingMode *
entitySetName:string *
entityChangedCallback:Func<EntityChangedParams, bool> *
collectionChangedCallback:Func<EntityCollectionChangedParams, bool> -> DataServiceCollection
public function DataServiceCollection(
context : DataServiceContext,
items : IEnumerable<T>,
trackingMode : TrackingMode,
entitySetName : String,
entityChangedCallback : Func<EntityChangedParams, boolean>,
collectionChangedCallback : Func<EntityCollectionChangedParams, boolean>
)
パラメーター
- context
型: System.Data.Services.Client.DataServiceContext
コレクション内の項目を追跡するために使用される DataServiceContext。
- items
型: System.Collections.Generic.IEnumerable<T>
コレクションの初期化に使用されるオブジェクトの IEnumerable<T> コレクションを返す DataServiceQuery<TElement> または LINQ クエリ。
- trackingMode
型: System.Data.Services.Client.TrackingMode
コレクション内の項目に加えられた変更が自動的に追跡されるかどうかを示す TrackingMode 値。
- entitySetName
型: System.String
コレクション内のオブジェクトのエンティティ セット。
- entityChangedCallback
型: System.Func<EntityChangedParams, Boolean>
エンティティが変更されたときに呼び出されるメソッドをカプセル化するデリゲート。
- collectionChangedCallback
型: System.Func<EntityCollectionChangedParams, Boolean>
エンティティのコレクションが変更されたときに呼び出されるメソッドをカプセル化するデリゲート。
説明
既定では、DataServiceCollection<T> に対して自動変更追跡が有効になっています。 このクラス コンストラクターを使用し、trackingMode に None の値を指定して、手動の変更追跡を使用する DataServiceCollection<T> のインスタンスを作成します。 手動追跡を使用するときは、INotifyPropertyChanged および INotifyCollectionChanged を実装し、発生イベントを処理して、手動で変更を DataServiceContext に報告する必要があります。
items が DataServiceContext インスタンスへの参照を含む DataServiceQuery<TElement> または QueryOperationResponse<T> でない場合、DataServiceContext を指定する必要があります。
entityChanged 関数および collectionChanged 関数は、それぞれ PropertyChanged イベントおよび CollectionChanged イベントによって呼び出されます。 entityChanged メソッドは EntityCollectionChangedParams 値を受け取り、collectionChanged メソッドは EntityChangedParams 値を受け取ります。 両方のメソッドは、イベントが関数によって処理されたかどうかを示すブール値を返す必要があります。 メソッドが true を返すと、既定の動作が引き続き発生します。