示例#1
0
        private XmlNode GetDBTypeNode(EnumDBType enuDbType)
        {
            string  dbtype = enuDbType.ToString();
            XmlNode node   = m_doc.SelectSingleNode(string.Format("//dbtype[@type='{0}']", dbtype));

            if (node == null)
            {
                m_doc.LoadXml($"<?xml version=\"1.0\" encoding=\"utf-8\" ?><dbTypes default=\"{enuDbType.ToString()}\"><dbtype></dbtype></dbTypes>");
                node = m_doc.SelectSingleNode("//dbtype");
                XmlAttribute attr = m_doc.CreateNode(XmlNodeType.Attribute, "type", string.Empty) as XmlAttribute;
                attr.Value = dbtype;

                node.Attributes.Append(attr);
                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "displaynull", string.Empty));
                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "userfieldname", string.Empty));
                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "traceuser", string.Empty));

                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "server", string.Empty));
                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "user", string.Empty));
                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "password", string.Empty));
                node.AppendChild(m_doc.CreateNode(XmlNodeType.Element, "dbname", string.Empty));



                node = m_doc.SelectSingleNode(string.Format("//dbtype[@type='{0}']", dbtype));
            }

            return(node);
        }
示例#2
0
        /// <summary>
        /// 创建客户端实现
        /// </summary>
        /// <param name="DBType"></param>
        /// <returns></returns>
        public DapperClient CreateClient(EnumDBType DBType)
        {
            var client = new DapperClient(new DBConnectionConfig {
            });

            var option = _optionsMonitor.Get(DBType.ToString()).DapperActions.FirstOrDefault();

            if (option != null)
            {
                option(client.CurrentConnectionConfig);
            }
            else
            {
                throw new ArgumentNullException(nameof(option));
            }
            return(client);
        }
 /// <summary>
 /// 有参构造
 /// </summary>
 /// <param name="services"></param>
 /// <param name="DBType"></param>
 public DefaultDapperFactoryBuilder(IServiceCollection services, EnumDBType DBType)
 {
     Services = services;
     Name     = DBType.ToString();
 }