DataServiceCollection<T> 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立 DataServiceCollection<T> 類別的新實例。
多載
DataServiceCollection<T>()
建立 DataServiceCollection<T> 類別的新實例。
public:
DataServiceCollection();
public DataServiceCollection ();
Public Sub New ()
備註
根據預設,會針對 DataServiceCollection<T>啟用自動變更追蹤。 當您使用建構函式建立實例時,您可以建立使用手動變更追蹤的 DataServiceCollection<T> 實例,讓您提供 TrackingModeNone 值。 當您使用手動追蹤時,必須實作 INotifyPropertyChanged 並 INotifyCollectionChanged 並處理引發事件,以手動報告 DataServiceContext的變更。
自動變更追蹤會在專案載入集合之後開始。
適用於
DataServiceCollection<T>(IEnumerable<T>)
根據查詢執行,建立 DataServiceCollection<T> 類別的新實例。
public:
DataServiceCollection(System::Collections::Generic::IEnumerable<T> ^ items);
public DataServiceCollection (System.Collections.Generic.IEnumerable<T> items);
new System.Data.Services.Client.DataServiceCollection<'T> : seq<'T> -> System.Data.Services.Client.DataServiceCollection<'T>
Public Sub New (items As IEnumerable(Of T))
參數
- items
- IEnumerable<T>
傳回用來初始化集合之物件的 IEnumerable<T> 集合 DataServiceQuery<TElement> 或LINQ查詢。
備註
提供給 items
之物件的 IEnumerable<T> 集合通常是傳回集合中項目的查詢。 不過,可以提供正確型別的任何 IEnumerable<T> 集合。
根據預設,會針對 DataServiceCollection<T>啟用自動變更追蹤。 當您使用建構函式建立實例時,您可以建立使用手動變更追蹤的 DataServiceCollection<T> 實例,讓您提供 TrackingModeNone 值。 當您使用手動追蹤時,必須實作 INotifyPropertyChanged 並 INotifyCollectionChanged 並處理引發事件,以手動報告 DataServiceContext的變更。
適用於
DataServiceCollection<T>(DataServiceContext)
建立使用指定 DataServiceContext之 DataServiceCollection<T> 類別的新實例。
public:
DataServiceCollection(System::Data::Services::Client::DataServiceContext ^ context);
public DataServiceCollection (System.Data.Services.Client.DataServiceContext context);
new System.Data.Services.Client.DataServiceCollection<'T> : System.Data.Services.Client.DataServiceContext -> System.Data.Services.Client.DataServiceCollection<'T>
Public Sub New (context As DataServiceContext)
參數
- context
- DataServiceContext
用來追蹤集合中物件變更的 DataServiceContext。
備註
使用此建構函式可建立空的 DataServiceCollection<T>,而不需要對服務執行查詢,或是無法使用 IEnumerable<T> 時,即可新增實體物件。
根據預設,會針對 DataServiceCollection<T>啟用自動變更追蹤。 當您使用建構函式建立實例時,您可以建立使用手動變更追蹤的 DataServiceCollection<T> 實例,讓您提供 TrackingModeNone 值。 當您使用手動追蹤時,必須實作 INotifyPropertyChanged 並 INotifyCollectionChanged 並處理引發事件,以手動報告 DataServiceContext的變更。
適用於
DataServiceCollection<T>(IEnumerable<T>, TrackingMode)
根據查詢執行和指定的追蹤模式,建立 DataServiceCollection<T> 類別的新實例。
public:
DataServiceCollection(System::Collections::Generic::IEnumerable<T> ^ items, System::Data::Services::Client::TrackingMode trackingMode);
public DataServiceCollection (System.Collections.Generic.IEnumerable<T> items, System.Data.Services.Client.TrackingMode trackingMode);
new System.Data.Services.Client.DataServiceCollection<'T> : seq<'T> * System.Data.Services.Client.TrackingMode -> System.Data.Services.Client.DataServiceCollection<'T>
Public Sub New (items As IEnumerable(Of T), trackingMode As TrackingMode)
參數
- items
- IEnumerable<T>
傳回用來初始化集合之物件的 IEnumerable<T> 集合 DataServiceQuery<TElement> 或LINQ查詢。
- trackingMode
- TrackingMode
TrackingMode 值,指出是否會自動追蹤對集合中專案所做的變更。
備註
根據預設,會針對 DataServiceCollection<T>啟用自動變更追蹤。 使用這個類別建構函式,並提供 None 值給 trackingMode
,以建立使用手動變更追蹤的 DataServiceCollection<T> 實例。 當您使用手動追蹤時,必須實作 INotifyPropertyChanged 並 INotifyCollectionChanged 並處理引發事件,以手動報告 DataServiceContext的變更。
提供給 items
之物件的 IEnumerable<T> 集合通常是傳回集合中項目的查詢。 不過,可以提供正確型別的任何 IEnumerable<T> 集合。
適用於
DataServiceCollection<T>(DataServiceContext, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams,Boolean>)
使用提供的變更方法委派,以及使用指定的 DataServiceContext,建立 DataServiceCollection<T> 類別的新實例。
public:
DataServiceCollection(System::Data::Services::Client::DataServiceContext ^ context, System::String ^ entitySetName, Func<System::Data::Services::Client::EntityChangedParams ^, bool> ^ entityChangedCallback, Func<System::Data::Services::Client::EntityCollectionChangedParams ^, bool> ^ collectionChangedCallback);
public DataServiceCollection (System.Data.Services.Client.DataServiceContext context, string entitySetName, Func<System.Data.Services.Client.EntityChangedParams,bool> entityChangedCallback, Func<System.Data.Services.Client.EntityCollectionChangedParams,bool> collectionChangedCallback);
new System.Data.Services.Client.DataServiceCollection<'T> : System.Data.Services.Client.DataServiceContext * string * Func<System.Data.Services.Client.EntityChangedParams, bool> * Func<System.Data.Services.Client.EntityCollectionChangedParams, bool> -> System.Data.Services.Client.DataServiceCollection<'T>
Public Sub New (context As DataServiceContext, entitySetName As String, entityChangedCallback As Func(Of EntityChangedParams, Boolean), collectionChangedCallback As Func(Of EntityCollectionChangedParams, Boolean))
參數
- context
- DataServiceContext
用來追蹤集合中專案的 DataServiceContext。
- entitySetName
- String
集合中 對象的實體集。
- entityChangedCallback
- Func<EntityChangedParams,Boolean>
委派,封裝實體變更時所呼叫的方法。
- collectionChangedCallback
- Func<EntityCollectionChangedParams,Boolean>
委派,封裝實體集合變更時所呼叫的方法。
備註
使用此建構函式可建立空的 DataServiceCollection<T>,而不需要對服務執行查詢,或是無法使用 IEnumerable<T> 時,即可新增實體物件。
根據預設,會針對 DataServiceCollection<T>啟用自動變更追蹤。 當您使用建構函式建立實例時,您可以建立使用手動變更追蹤的 DataServiceCollection<T> 實例,讓您提供 TrackingModeNone 值。 當您使用手動追蹤時,必須實作 INotifyPropertyChanged 並 INotifyCollectionChanged 並處理引發事件,以手動報告 DataServiceContext的變更。
適用於
DataServiceCollection<T>(IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams,Boolean>)
根據查詢執行和提供的變更方法委派,建立 DataServiceCollection<T> 類別的新實例。
public:
DataServiceCollection(System::Collections::Generic::IEnumerable<T> ^ items, System::Data::Services::Client::TrackingMode trackingMode, System::String ^ entitySetName, Func<System::Data::Services::Client::EntityChangedParams ^, bool> ^ entityChangedCallback, Func<System::Data::Services::Client::EntityCollectionChangedParams ^, bool> ^ collectionChangedCallback);
public DataServiceCollection (System.Collections.Generic.IEnumerable<T> items, System.Data.Services.Client.TrackingMode trackingMode, string entitySetName, Func<System.Data.Services.Client.EntityChangedParams,bool> entityChangedCallback, Func<System.Data.Services.Client.EntityCollectionChangedParams,bool> collectionChangedCallback);
new System.Data.Services.Client.DataServiceCollection<'T> : seq<'T> * System.Data.Services.Client.TrackingMode * string * Func<System.Data.Services.Client.EntityChangedParams, bool> * Func<System.Data.Services.Client.EntityCollectionChangedParams, bool> -> System.Data.Services.Client.DataServiceCollection<'T>
Public Sub New (items As IEnumerable(Of T), trackingMode As TrackingMode, entitySetName As String, entityChangedCallback As Func(Of EntityChangedParams, Boolean), collectionChangedCallback As Func(Of EntityCollectionChangedParams, Boolean))
參數
- items
- IEnumerable<T>
傳回用來初始化集合之物件的 IEnumerable<T> 集合 DataServiceQuery<TElement> 或LINQ查詢。
- trackingMode
- TrackingMode
TrackingMode 值,指出是否會自動追蹤對集合中專案所做的變更。
- entitySetName
- String
集合中 對象的實體集。
- entityChangedCallback
- Func<EntityChangedParams,Boolean>
委派,封裝實體變更時所呼叫的方法。
- collectionChangedCallback
- Func<EntityCollectionChangedParams,Boolean>
委派,封裝實體集合變更時所呼叫的方法。
備註
entityChanged
和 collectionChanged
函式分別由 PropertyChanged 和 CollectionChanged 事件叫用。
entityChanged
方法會採用 EntityCollectionChangedParams 值,而 collectionChanged
方法會採用 EntityChangedParams 值。 這兩種方法都必須傳回 Boolean 值,指出事件是否由函式處理。 當方法傳回 true
時,預設行為仍會發生。
根據預設,會針對 DataServiceCollection<T>啟用自動變更追蹤。 當您使用建構函式建立實例時,您可以建立使用手動變更追蹤的 DataServiceCollection<T> 實例,讓您提供 TrackingModeNone 值。 當您使用手動追蹤時,必須實作 INotifyPropertyChanged 並 INotifyCollectionChanged 並處理引發事件,以手動報告 DataServiceContext的變更。
適用於
DataServiceCollection<T>(DataServiceContext, IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams, Boolean>)
使用提供的變更方法委派,根據查詢執行,建立 DataServiceCollection<T> 類別的新實例,並使用提供的 DataServiceContext。
public:
DataServiceCollection(System::Data::Services::Client::DataServiceContext ^ context, System::Collections::Generic::IEnumerable<T> ^ items, System::Data::Services::Client::TrackingMode trackingMode, System::String ^ entitySetName, Func<System::Data::Services::Client::EntityChangedParams ^, bool> ^ entityChangedCallback, Func<System::Data::Services::Client::EntityCollectionChangedParams ^, bool> ^ collectionChangedCallback);
public DataServiceCollection (System.Data.Services.Client.DataServiceContext context, System.Collections.Generic.IEnumerable<T> items, System.Data.Services.Client.TrackingMode trackingMode, string entitySetName, Func<System.Data.Services.Client.EntityChangedParams,bool> entityChangedCallback, Func<System.Data.Services.Client.EntityCollectionChangedParams,bool> collectionChangedCallback);
new System.Data.Services.Client.DataServiceCollection<'T> : System.Data.Services.Client.DataServiceContext * seq<'T> * System.Data.Services.Client.TrackingMode * string * Func<System.Data.Services.Client.EntityChangedParams, bool> * Func<System.Data.Services.Client.EntityCollectionChangedParams, bool> -> System.Data.Services.Client.DataServiceCollection<'T>
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))
參數
- context
- DataServiceContext
用來追蹤集合中專案的 DataServiceContext。
- items
- IEnumerable<T>
傳回用來初始化集合之物件的 IEnumerable<T> 集合 DataServiceQuery<TElement> 或LINQ查詢。
- trackingMode
- TrackingMode
TrackingMode 值,指出是否會自動追蹤對集合中專案所做的變更。
- entitySetName
- String
集合中 對象的實體集。
- entityChangedCallback
- Func<EntityChangedParams,Boolean>
委派,封裝實體變更時所呼叫的方法。
- collectionChangedCallback
- 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 值。 這兩種方法都必須傳回 Boolean 值,指出事件是否由函式處理。 當方法傳回 true
時,預設行為仍會發生。