Ejemplo n.º 1
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            base.OnSetConnectionString(builder);

            //if (!builder.TryGetValue(_.DataSource, out file)) return;
            // 允许空,当作内存数据库处理
            builder.TryGetValue(_.DataSource, out var file);
            file = OnResolveFile(file);
            builder[_.DataSource] = file;
            FileName = file;
        }
Ejemplo n.º 2
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            base.OnSetConnectionString(builder);

            String file;
            if (!builder.TryGetValue("Database", out file)) return;

            file = ResolveFile(file);
            builder["Database"] = file;
            FileName = file;
        }
Ejemplo n.º 3
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            base.OnSetConnectionString(builder);

            String file;
            //if (!builder.TryGetValue(_.DataSource, out file)) return;
            // 允许空,当作内存数据库处理
            builder.TryGetValue(_.DataSource, out file);
            file = OnResolveFile(file);
            builder[_.DataSource] = file;
            FileName = file;
        }
Ejemplo n.º 4
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            base.OnSetConnectionString(builder);

            if (!builder.TryGetValue("Database", out var file))
            {
                return;
            }

            file = ResolveFile(file);
            builder["Database"] = file;
            FileName            = file;
        }
Ejemplo n.º 5
0
        void LoadConfig(String connStr)
        {
            if (String.IsNullOrEmpty(connStr))
            {
                return;
            }

            var builder = new XDbConnectionStringBuilder();

            builder.ConnectionString = connStr;

            var ws = "";
            var rs = "";

            if (!builder.TryGetValue("WriteServer", out ws) || String.IsNullOrEmpty(ws))
            {
                throw new XDbException(this, ExceptionMessage1);
            }
            if (!builder.TryGetValue("ReadServer", out rs) || String.IsNullOrEmpty(rs))
            {
                throw new XDbException(this, ExceptionMessage2);
            }

            #region 加载写入服务器
            String[] ss = ws.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            if (ss == null || ss.Length < 1)
            {
                throw new XDbException(this, ExceptionMessage1);
            }

            List <Server> list = new List <Server>();
            foreach (String item in ss)
            {
                String name = item.Trim();
                if (String.IsNullOrEmpty(name))
                {
                    continue;
                }

                Int32 p = name.IndexOf("*");
                if (p > 0)
                {
                    list.Add(new Server(name.Substring(0, p), Int32.Parse(name.Substring(p + 1))));
                }
                else
                {
                    list.Add(new Server(name, 0));
                }
            }
            // 按权重降序
            list.Sort(delegate(Server item1, Server item2) { return(-1 * item1.Weight.CompareTo(item2.Weight)); });
            WriteServers = list.ToArray();
            #endregion

            #region 加载读取服务器
            ss = rs.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            if (ss == null || ss.Length < 1)
            {
                throw new XDbException(this, ExceptionMessage2);
            }

            list.Clear();
            foreach (String item in ss)
            {
                String name = item.Trim();
                if (String.IsNullOrEmpty(name))
                {
                    continue;
                }

                Int32 p = name.IndexOf("*");
                if (p > 0)
                {
                    list.Add(new Server(name.Substring(0, p), Int32.Parse(name.Substring(p + 1))));
                }
                else
                {
                    list.Add(new Server(name, 1));
                }
            }
            // 按权重降序
            list.Sort(delegate(Server item1, Server item2) { return(-1 * item1.Weight.CompareTo(item2.Weight)); });
            ReadServers = list.ToArray();
            #endregion
        }