DataServiceCollection<T> 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建 DataServiceCollection<T> 类的新实例。
重载
DataServiceCollection<T>()
创建 DataServiceCollection<T> 类的新实例。
public:
DataServiceCollection();
public DataServiceCollection ();
Public Sub New ()
注解
默认情况下,为 DataServiceCollection<T>启用自动更改跟踪。 使用构造函数创建实例时,可以创建使用手动更改跟踪的 DataServiceCollection<T> 实例,以便为 TrackingMode提供 None 值。 使用手动跟踪时,必须实现 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>
一个 DataServiceQuery<TElement> 或 LINQ 查询,该查询返回用于初始化集合的对象 IEnumerable<T> 集合。
注解
为 items
提供的对象 IEnumerable<T> 集合通常是返回集合中的项的查询。 但是,可以提供正确类型的任何 IEnumerable<T> 集合。
默认情况下,为 DataServiceCollection<T>启用自动更改跟踪。 使用构造函数创建实例时,可以创建使用手动更改跟踪的 DataServiceCollection<T> 实例,以便为 TrackingMode提供 None 值。 使用手动跟踪时,必须实现 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> 实例,以便为 TrackingMode提供 None 值。 使用手动跟踪时,必须实现 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>
一个 DataServiceQuery<TElement> 或 LINQ 查询,该查询返回用于初始化集合的对象 IEnumerable<T> 集合。
- trackingMode
- TrackingMode
一个 TrackingMode 值,该值指示是否自动跟踪对集合中的项所做的更改。
注解
默认情况下,为 DataServiceCollection<T>启用自动更改跟踪。 使用此类构造函数并提供 trackingMode
None 值来创建使用手动更改跟踪的 DataServiceCollection<T> 实例。 使用手动跟踪时,必须实现 INotifyPropertyChanged 并 INotifyCollectionChanged 并处理引发事件以手动报告对 DataServiceContext的更改。
为 items
提供的对象 IEnumerable<T> 集合通常是返回集合中的项的查询。 但是,可以提供正确类型的任何 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> 实例,以便为 TrackingMode提供 None 值。 使用手动跟踪时,必须实现 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>
一个 DataServiceQuery<TElement> 或 LINQ 查询,该查询返回用于初始化集合的对象 IEnumerable<T> 集合。
- trackingMode
- TrackingMode
一个 TrackingMode 值,该值指示是否自动跟踪对集合中的项所做的更改。
- entitySetName
- String
集合中对象的实体集。
- entityChangedCallback
- Func<EntityChangedParams,Boolean>
封装实体更改时调用的方法的委托。
- collectionChangedCallback
- Func<EntityCollectionChangedParams,Boolean>
封装实体集合更改时调用的方法的委托。
注解
entityChanged
和 collectionChanged
函数分别由 PropertyChanged 和 CollectionChanged 事件调用。
entityChanged
方法采用 EntityCollectionChangedParams 值,collectionChanged
方法采用 EntityChangedParams 值。 这两种方法必须返回一个布尔值,该值指示该事件是否由函数处理。 当方法返回 true
时,默认行为仍然存在。
默认情况下,为 DataServiceCollection<T>启用自动更改跟踪。 使用构造函数创建实例时,可以创建使用手动更改跟踪的 DataServiceCollection<T> 实例,以便为 TrackingMode提供 None 值。 使用手动跟踪时,必须实现 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>
一个 DataServiceQuery<TElement> 或 LINQ 查询,该查询返回用于初始化集合的对象 IEnumerable<T> 集合。
- 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 值。 这两种方法必须返回一个布尔值,该值指示该事件是否由函数处理。 当方法返回 true
时,默认行为仍将发生。