public async Task <AsyncReadFileResult> ReadFile(string fileIdentifier, IIdentity downloadingIdentity)
        {
            var ok = fileIdentifier.StartsWith("##VID#");

            if (ok)
            {
                var idHint = fileIdentifier.Substring(6).Split("#").Select(n => int.Parse(n)).ToArray();
                var retVal = new AsyncReadFileResult();
                retVal.DeferredDisposals.Add(db.Database.UseConnection(out DbCommand cmd));
                retVal.DeferredDisposals.Add(cmd);
                cmd.CommandText = "Select Content from TutorialStreamBlob where TutorialStreamId = @streamId";
                var param = cmd.CreateParameter();
                param.ParameterName = "@streamId";
                param.Value         = idHint[1];
                cmd.Parameters.Add(param);
                var reader = await cmd.ExecuteReaderAsync().ConfigureAwait(false);

                retVal.DeferredDisposals.Add(reader);
                if (!reader.Read())
                {
                    retVal.DeferredDisposals.Reverse();
                    retVal.DeferredDisposals.ForEach(n => n.Dispose());
                    retVal.DeferredDisposals.Clear();
                    retVal.Success = false;
                    return(retVal);
                }

                retVal.FileContent = reader.GetStream(0);
                retVal.Success     = true;
                return(retVal);
            }

            throw new InvalidOperationException("Invalid File-Identifier provided!");
        }
        /// <summary>
        /// Materializes the QueryData of the requested DiagnoseQuery into the capable file format
        /// </summary>
        /// <param name="data">the result of the diagnose query</param>
        /// <param name="queryName">the name of the query that was executed</param>
        /// <param name="downloadIdentity">the download-identity that was used to request the data</param>
        /// <returns>a file-read result that describes the retrieved data</returns>
        protected override async Task <AsyncReadFileResult> MaterializeQueryData(object[] data, string queryName,
                                                                                 IIdentity downloadIdentity)
        {
            var settingsName = $"{UniqueName}CfgFor{queryName}";
            var setting      = ScopedSettings.GetJsonSetting(settingsName);

            if (string.IsNullOrEmpty(setting))
            {
                setting = GlobalSettings.GetJsonSetting(settingsName);
            }

            DiagQueryDumpConfig cfg = null;

            if (!string.IsNullOrEmpty(setting))
            {
                cfg = JsonHelper.FromJsonString <DiagQueryDumpConfig>(setting);
            }
            else
            {
                cfg = new DiagQueryDumpConfig();
            }

            if (cfg.DumpConfig == null)
            {
                cfg.DumpConfig = new DumpConfiguration
                {
                    Name   = "--Default-CFG-",
                    Source = ".",
                    Files  = new DumpFormatFileCollection
                    {
                        new()
                        {
                            Children = new DumpConfigurationCollection
                            {
                                new()
                                {
                                    Name   = "Default",
                                    Source = "Default"
                                }
                            }
                        }
                    }
                };
            }

            var tmp     = new MemoryStream();
            var rawData = (from t in data select ToDynResult(t)).ToArray();

            dumper.DumpData(tmp, new[] { new DynamicResult(new Dictionary <string, object> {
                    { queryName, rawData }
                }) },
                            cfg.DumpConfig);
            await tmp.FlushAsync();

            await tmp.DisposeAsync();

            var dumpData = tmp.ToArray();

            tmp = new MemoryStream(dumpData);
            //tmp.Seek(0, SeekOrigin.Begin);
            var retVal = new AsyncReadFileResult
            {
                DownloadName = cfg.DownloadName,
                FileDownload = cfg.FileDownload,
                ContentType  = cfg.ContentType,
                FileContent  = tmp,
                Success      = true
            };

            return(retVal);
        }