public string LoadSqlFromResource(string filename) { if (string.IsNullOrEmpty(filename)) { throw new ArgumentNullException(); } return(_resourcesCache.GetOrAdd(filename, key => { try { var resourceName = $"{_assembly.GetName().Name}.{ScriptsFolder}.{key}"; var resourceStream = _assembly.GetManifestResourceStream(resourceName); using (var streamReader = new StreamReader(resourceStream)) { var sqlText = streamReader.ReadToEnd(); return sqlText; } } catch (Exception e) { _log.Error( e, "Could not read sql from resource", new { assembly = _assembly.FullName, ScriptsFolder, filename = key }); return null; } // todo: temporary solution before we move to business transactions. }, DateTime.UtcNow.AddDays(1))); }