Example #1
0
        protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
        {
            ExTraceGlobals.IntegrationTracer.Information <CommandBehavior>((long)this.GetHashCode(), "-->MonadCommand.ExecuteReader({0})", behavior);
            MonadAsyncResult asyncResult = this.BeginExecute(null);
            MonadDataReader  result      = new MonadDataReader(this, behavior, asyncResult, this.preservedObjectProperty);

            ExTraceGlobals.IntegrationTracer.Information((long)this.GetHashCode(), "<--MonadCommand.ExecuteReader()");
            return(result);
        }
Example #2
0
        protected override int Fill(DataTable[] dataTables, IDataReader dataReader, int startRecord, int maxRecords)
        {
            ExTraceGlobals.IntegrationTracer.Information <int, string>((long)this.GetHashCode(), "-->MonadDataAdapter.Fill({0} (first of {1}))", dataTables.Length, dataTables[0].TableName);
            ExTraceGlobals.IntegrationTracer.Information <string>((long)this.GetHashCode(), "\tSelectCommand={0}", this.SelectCommand.CommandText);
            MonadDataReader monadDataReader = dataReader as MonadDataReader;

            if (dataTables == null || dataTables[0] == null)
            {
                throw new ArgumentNullException("dataTables");
            }
            DataTable dataTable = dataTables[0];

            if (this.enforceDataSetSchema)
            {
                DataColumnMappingCollection mappings = null;
                if (base.TableMappings.Contains(dataTable.TableName))
                {
                    mappings = base.TableMappings[dataTable.TableName].ColumnMappings;
                }
                monadDataReader.EnforceSchema(dataTable.Columns, mappings);
            }
            if (monadDataReader.PositionInfo != null)
            {
                dataTable.ExtendedProperties["Position"]   = monadDataReader.PositionInfo.PageOffset;
                dataTable.ExtendedProperties["TotalCount"] = monadDataReader.PositionInfo.TotalCount;
            }
            int num = base.Fill(dataTables, dataReader, startRecord, maxRecords);

            if (monadDataReader.PositionInfo != null)
            {
                dataTable.ExtendedProperties["BookmarkPrevious"] = monadDataReader.FirstResult;
                dataTable.ExtendedProperties["BookmarkNext"]     = monadDataReader.LastResult;
            }
            ExTraceGlobals.IntegrationTracer.Information <int>((long)this.GetHashCode(), "<--MonadDataAdapter.Fill(), {0}", num);
            return(num);
        }