internal string GetConnectionString(bool includePassword)
        {
            var connectionString = ConnectionString;

            if (includePassword)
            {
                return(connectionString);
            }

            if (m_cachedConnectionString != connectionString)
            {
                var csb = new MyCatConnectionStringBuilder(connectionString);
                foreach (string key in Keys)
                {
                    foreach (var passwordKey in MyCatConnectionStringOption.Password.Keys)
                    {
                        if (string.Equals(key, passwordKey, StringComparison.OrdinalIgnoreCase))
                        {
                            csb.Remove(key);
                        }
                    }
                }
                m_cachedConnectionStringWithoutPassword = csb.ConnectionString;
                m_cachedConnectionString = connectionString;
            }

            return(m_cachedConnectionStringWithoutPassword);
        }
 public abstract object GetObject(MyCatConnectionStringBuilder builder);