public override IDataReader ExecuteReader(CommandBehavior behavior) { this.context.currentReader?.BufferAll(); var dbCommand = this.Inner as DbCommand; if (dbCommand != null) { return new MarsDataReader(this, dbCommand.ExecuteReader(behavior)); } else { return new MarsDataReader(this, base.ExecuteReader(behavior)); } } }