Exemplo n.º 1
0
        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)));
        }