protected void Bind <R>(QueryInfo <R> aQueryInfo, SqlDataReader aReader) where R : class { R data = aQueryInfo.Binder.Bind(aReader); CacheBinder <R> cacheBinder = (CacheBinder <R>)aQueryInfo.Binder; CachedTable = cacheBinder.BindToCache(aReader).Table; }
private bool GetFromCache <R>(QueryInfo <R> anExtractor) where R : class { DataTable dt = (DataTable)Cache.Get(Key); CacheBinder <R> cacheBinder = (CacheBinder <R>)anExtractor.Binder; if (dt != null) { foreach (DataRow datarow in dt.Rows) { anExtractor.Binder.OnBind(cacheBinder.BindFromCache(datarow)); } return(true); } return(false); }