Exemplo n.º 1
0
        /// <summary>
        /// 根据节点得到OrmDataBase
        /// </summary>
        /// <param name="dataBases"></param>
        /// <param name="node"></param>
        /// <returns></returns>
        protected virtual void AddOrmDataBaseByXmlNode(IDictionary <string, OrmDataBaseInfo> dataBases, XmlNode node)
        {
            var db = new OrmDataBaseInfo();

            if (node.Attributes == null)
            {
                return;
            }
            db.Name             = node.Attributes["Name"].Value.ToLower();
            db.ConnnectString   = node.Attributes["ConnnectString"].Value;
            db.CompilerName     = node.Attributes["CompilerName"] == null ? null : node.Attributes["CompilerName"].Value;
            db.CheckAlivePeriod = node.Attributes["CheckAlivePeriod"] == null || string.IsNullOrEmpty(node.Attributes["CheckAlivePeriod"].Value) ? db.CheckAlivePeriod : Convert.ToInt32(node.Attributes["CheckAlivePeriod"].Value);
            if (node.Attributes["IsDefault"] != null && node.Attributes["IsDefault"].Value.Equals("true"))
            {
                db.IsDefault = true;
            }
            if (node.Attributes["IsGetLoadBalance"] != null && node.Attributes["IsGetLoadBalance"].Value.Equals("true"))
            {
                db.IsGetLoadBalance = true;
            }
            if (node.Attributes["IsSetLoadBalance"] != null && node.Attributes["IsSetLoadBalance"].Value.Equals("true"))
            {
                db.IsSetLoadBalance = true;
            }
            dataBases.Add(db.Name, db);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 得到编译器
 /// </summary>
 /// <param name="dataBase"></param>
 /// <returns></returns>
 public virtual ICompiler GetCompiler(OrmDataBaseInfo dataBase)
 {
     if (string.IsNullOrEmpty(dataBase.CompilerName) || !Compilers.ContainsKey(dataBase.CompilerName))
     {
         return(Compilers.FirstOrDefault().Value);
     }
     return(Compilers[dataBase.CompilerName]);
 }
Exemplo n.º 3
0
 /// <summary>
 /// 设置读写故障转移
 /// </summary>
 /// <param name="ormDataBase"></param>
 /// <param name="ormDataBases"></param>
 /// <param name="node"></param>
 protected virtual void SetOrmDataBaseFailoverByXmlNode(OrmDataBaseInfo ormDataBase, IDictionary <string, OrmDataBaseInfo> ormDataBases, XmlNode node)
 {
     if (node.Attributes == null)
     {
         return;
     }
     if (node.Attributes["GetFailoverName"] != null)
     {
         var getFailoverName = node.Attributes["GetFailoverName"].Value.ToLower().Split(',');
         ormDataBase.GetFailovers = ormDataBases.Values.Where(it => getFailoverName.Contains(it.Name) && !ormDataBase.ConnnectString.Equals(it.ConnnectString)).ToList();
     }
     if (node.Attributes["SetFailoverName"] != null)
     {
         var setFailoverName = node.Attributes["SetFailoverName"].Value.ToLower().Split(',');
         ormDataBase.SetFailovers = ormDataBases.Values.Where(it => setFailoverName.Contains(it.Name) && !ormDataBase.ConnnectString.Equals(it.ConnnectString)).ToList();
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// 添加数据库
 /// </summary>
 /// <param name="dataBase"></param>
 public virtual void AddDataBase(OrmDataBaseInfo dataBase)
 {
     DataBases.Add(dataBase.Name, dataBase);
 }