DataServiceCollection<T> 构造函数

定义

创建 DataServiceCollection<T> 类的新实例。

重载

DataServiceCollection<T>()

创建 DataServiceCollection<T> 类的新实例。

DataServiceCollection<T>(IEnumerable<T>)

创建基于查询执行的 DataServiceCollection<T> 类的新实例。

DataServiceCollection<T>(DataServiceContext)

创建 DataServiceCollection<T> 类的新实例,该实例使用指定的 DataServiceContext

DataServiceCollection<T>(IEnumerable<T>, TrackingMode)

创建基于查询执行并使用指定跟踪模式的 DataServiceCollection<T> 类的新实例。

DataServiceCollection<T>(DataServiceContext, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams,Boolean>)

创建使用所提供更改方法委托并使用指定的 DataServiceCollection<T>DataServiceContext 类的新实例。

DataServiceCollection<T>(IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams,Boolean>)

创建基于查询执行并使用所提供更改方法委托的 DataServiceCollection<T> 类的新实例。

DataServiceCollection<T>(DataServiceContext, IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams, Boolean>)

创建基于查询执行、使用所提供的更改方法委托并使用所提供的 DataServiceCollection<T>DataServiceContext 类的新实例。

DataServiceCollection<T>()

创建 DataServiceCollection<T> 类的新实例。

public:
 DataServiceCollection();
public DataServiceCollection ();
Public Sub New ()

注解

默认情况下,将对 DataServiceCollection<T> 启用自动更改跟踪。 您可以创建 DataServiceCollection<T> 的实例,该实例在您使用可以为 None 提供 TrackingMode 值的构造函数创建实例时,会使用手动更改跟踪。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 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>

DataServiceQuery<TElement> 或 LINQ 查询,可返回用于初始化集合的对象的 IEnumerable<T> 集合。

注解

IEnumerable<T> 提供的对象的 items 集合通常是可一个返回集合中各项的查询。 不过,可以提供正确类型的任何 IEnumerable<T> 集合。

默认情况下,将对 DataServiceCollection<T> 启用自动更改跟踪。 您可以创建 DataServiceCollection<T> 的实例,该实例在您使用可以为 None 提供 TrackingMode 值的构造函数创建实例时,会使用手动更改跟踪。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 DataServiceContext

适用于

DataServiceCollection<T>(DataServiceContext)

创建 DataServiceCollection<T> 类的新实例,该实例使用指定的 DataServiceContext

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> 的实例,该实例在您使用可以为 None 提供 TrackingMode 值的构造函数创建实例时,会使用手动更改跟踪。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 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>

DataServiceQuery<TElement> 或 LINQ 查询,可返回用于初始化集合的对象的 IEnumerable<T> 集合。

trackingMode
TrackingMode

TrackingMode 值,用于指示是否自动跟踪对集合中各项所做的更改。

注解

默认情况下,将对 DataServiceCollection<T> 启用自动更改跟踪。 使用此类构造函数并为 None 提供 trackingMode 值,以便创建使用手动更改跟踪的 DataServiceCollection<T> 实例。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 DataServiceContext

IEnumerable<T> 提供的对象的 items 集合通常是可一个返回集合中各项的查询。 不过,可以提供正确类型的任何 IEnumerable<T> 集合。

适用于

DataServiceCollection<T>(DataServiceContext, String, Func<EntityChangedParams,Boolean>, Func<EntityCollectionChangedParams,Boolean>)

创建使用所提供更改方法委托并使用指定的 DataServiceCollection<T>DataServiceContext 类的新实例。

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> 的实例,该实例在您使用可以为 None 提供 TrackingMode 值的构造函数创建实例时,会使用手动更改跟踪。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 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>

DataServiceQuery<TElement> 或 LINQ 查询,可返回用于初始化集合的对象的 IEnumerable<T> 集合。

trackingMode
TrackingMode

TrackingMode 值,用于指示是否自动跟踪对集合中各项所做的更改。

entitySetName
String

集合中的对象实体集。

entityChangedCallback
Func<EntityChangedParams,Boolean>

一种委托,用于封装在实体更改时进行调用的方法。

collectionChangedCallback
Func<EntityCollectionChangedParams,Boolean>

一种委托,用于封装在实体集合更改时进行调用的方法。

注解

entityChangedcollectionChanged 函数分别由 PropertyChangedCollectionChanged 事件调用。 entityChanged 方法使用 EntityCollectionChangedParams 值,而 collectionChanged 方法则使用 EntityChangedParams 值。 这两个方法都必须返回指示事件是否由函数进行处理的布尔值。 当 方法返回 true时,仍会发生默认行为。

默认情况下,将对 DataServiceCollection<T> 启用自动更改跟踪。 您可以创建 DataServiceCollection<T> 的实例,该实例在您使用可以为 None 提供 TrackingMode 值的构造函数创建实例时,会使用手动更改跟踪。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 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>

DataServiceQuery<TElement> 或 LINQ 查询,可返回用于初始化集合的对象的 IEnumerable<T> 集合。

trackingMode
TrackingMode

TrackingMode 值,用于指示是否自动跟踪对集合中各项所做的更改。

entitySetName
String

集合中的对象实体集。

entityChangedCallback
Func<EntityChangedParams,Boolean>

一种委托,用于封装在实体更改时进行调用的方法。

collectionChangedCallback
Func<EntityCollectionChangedParams,Boolean>

一种委托,用于封装在实体集合更改时进行调用的方法。

注解

默认情况下,将对 DataServiceCollection<T> 启用自动更改跟踪。 使用此类构造函数为 None 提供 trackingMode 值,以便创建使用手动更改跟踪的 DataServiceCollection<T> 实例。 使用手动跟踪时,必须实现 INotifyPropertyChangedINotifyCollectionChanged 并处理引发事件,以便将更改手动报告到 DataServiceContext

DataServiceContext 不是引用了 items 实例的 DataServiceQuery<TElement>QueryOperationResponse<T> 时,必须提供 DataServiceContext

entityChangedcollectionChanged 函数分别由 PropertyChangedCollectionChanged 事件调用。 entityChanged 方法使用 EntityCollectionChangedParams 值,而 collectionChanged 方法则使用 EntityChangedParams 值。 这两个方法都必须返回指示事件是否由函数进行处理的布尔值。 方法返回 true时,仍将发生默认行为。

适用于