Beispiel #1
0
 /// <summary>
 /// 创建实例。
 /// </summary>
 /// <param name="query">数据查询。</param>
 /// <param name="reader">数据查询读取器。</param>
 /// <param name="type">类型。</param>
 public DataQueryEnumerator(IDataQuery <T> query, IDataQueryReader reader, System.Type type)
 {
     _query  = query;
     _reader = reader;
     _dataBinderObjectCache = query?.DataBinderObjectCache;
     _type = type;
     query?.DataContext.DisposableObjects.Add(this);
 }
Beispiel #2
0
 void DisposeDataBinderObjectCache()
 {
     if (_dataBinderObjectCacheMyCreated)
     {
         _dataBinderObjectCache?.Dispose();
         _dataBinderObjectCacheMyCreated = false;
     }
     _dataBinderObjectCache = null;
 }
Beispiel #3
0
 /// <summary>
 /// 获取迭代器。
 /// </summary>
 /// <returns></returns>
 public virtual System.Collections.Generic.IEnumerator <T> GetEnumerator()
 {
     if (_dataBinderObjectCache == null)
     {
         _dataBinderObjectCache          = new Binding.DataBinderObjectCache();
         _dataBinderObjectCacheMyCreated = true;
     }
     return(new DataQueryEnumerator <T>(_dataContext, ExecuteReader(), Type)
     {
         Callback = Callback, DataBinderObjectCache = _dataBinderObjectCache
     });
 }