/// <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); }
/// <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]); }
/// <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(); } }
/// <summary> /// 添加数据库 /// </summary> /// <param name="dataBase"></param> public virtual void AddDataBase(OrmDataBaseInfo dataBase) { DataBases.Add(dataBase.Name, dataBase); }