Пример #1
0
        private void BuildAutoConverter()
        {
            var useAutoConverterNode =
                XmlSqlMapRoot.SelectSingleNode($"{SQLMAP_PREFIX}:UseAutoConverter", XmlNsManager);

            if (useAutoConverterNode == null)
            {
                SqlMap.AutoConverter = SmartSqlConfig.DefaultAutoConverter;
                return;
            }

            if (useAutoConverterNode.Attributes.TryGetValueAsBoolean("Disabled", out bool disabled,
                                                                     SmartSqlConfig.Properties))
            {
                if (disabled)
                {
                    SqlMap.AutoConverter = NoneAutoConverter.INSTANCE;
                    return;
                }
            }

            if (!useAutoConverterNode.Attributes.TryGetValueAsString("Name", out String autoConverterName,
                                                                     SmartSqlConfig.Properties))
            {
                throw new SmartSqlException(
                          $"Scope:{SqlMap.Scope} UseAutoConverter.Name can not be null");
            }

            if (!SmartSqlConfig.AutoConverters.TryGetValue(autoConverterName, out var autoConverter))
            {
                throw new SmartSqlException($"Scope:{SqlMap.Scope} can not find AutoConverter:[{autoConverterName}]");
            }

            SqlMap.AutoConverter = autoConverter;
        }
Пример #2
0
        private void BuildCaches()
        {
            var cacheNodes = XmlSqlMapRoot.SelectNodes($"{SQLMAP_PREFIX}:Caches/{SQLMAP_PREFIX}:Cache", XmlNsManager);

            if (cacheNodes != null)
            {
                foreach (XmlElement cacheNode in cacheNodes)
                {
                    BuildCache(cacheNode);
                }
            }
        }
Пример #3
0
        private void BuildResultMaps()
        {
            var resultMapsNodes = XmlSqlMapRoot.SelectNodes($"//{SQLMAP_PREFIX}:ResultMaps/{SQLMAP_PREFIX}:ResultMap", XmlNsManager);

            if (resultMapsNodes != null)
            {
                foreach (XmlElement xmlNode in resultMapsNodes)
                {
                    BuildResultMap(xmlNode);
                }
            }
        }
Пример #4
0
        private void BuildParameterMaps()
        {
            var parameterMapsNodes = XmlSqlMapRoot.SelectNodes($"//{SQLMAP_PREFIX}:ParameterMaps/{SQLMAP_PREFIX}:ParameterMap", XmlNsManager);

            if (parameterMapsNodes != null)
            {
                foreach (XmlElement xmlNode in parameterMapsNodes)
                {
                    BuildParameterMap(xmlNode);
                }
            }
        }
Пример #5
0
        private void BuildStatements()
        {
            var statementNodes = XmlSqlMapRoot.SelectNodes($"{SQLMAP_PREFIX}:Statements/{SQLMAP_PREFIX}:Statement", XmlNsManager);

            if (statementNodes == null)
            {
                return;
            }
            foreach (XmlElement statementNode in statementNodes)
            {
                BuildStatement(statementNode);
            }
        }
Пример #6
0
        private void BuildMultipleResultMaps()
        {
            var multipleResultMapsNode = XmlSqlMapRoot.SelectNodes($"{SQLMAP_PREFIX}:MultipleResultMaps/{SQLMAP_PREFIX}:MultipleResultMap", XmlNsManager);

            if (multipleResultMapsNode == null)
            {
                return;
            }
            foreach (XmlElement xmlNode in multipleResultMapsNode)
            {
                BuildMultipleResultMap(xmlNode);
            }
        }