DataServiceCollection<T> 构造函数 (DataServiceContext, IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)
创建基于查询执行、使用所提供的更改方法委托并使用所提供的 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>
DataServiceQuery<TElement> 或 LINQ 查询,可返回用于初始化集合的对象的 IEnumerable<T> 集合。
- 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 时,默认行为仍将出现。