DatabaseProvider类详解


DatabaseProvider类详解-开发框架文库

DatabaseProvider类

DatabaseProvider,既数据库提供者(DAL层应用)。DatabaseProvider的主要职责是初始化数据库连接,以及提供一组通用方法创建IDatabase实例。

C# 全选
    /// <summary>
    /// 数据库提供者(DAL层应用)
    /// </summary>
    public static class DatabaseProvider
    {
        //连接字符串列表 <key,connectionString>
        private static Dictionary<string, string> _ConnectionString = new Dictionary<string, string>();

        //活动数据库列表 <key,IDatabase>
        private static Dictionary<string, IDatabase> _ActivedDBs = new Dictionary<string, IDatabase>();

        //静态构造器
        static DatabaseProvider()
        {
            InitConnection(Globals.IsTestMode);
        }

        public static void InitConnection(bool isTest)
        {
            _ConnectionString.Clear();

                //系统数据库
                _ConnectionString["MiniSystem"] = "Server=121.79.28.39;Database=CSFramework_Mini;User ID=test;Password=123456.";

                //账套数据库
                _ConnectionString["GTDB8120"] = "Server=121.79.28.39;Database=GTDB8;User ID=test;Password=123456.";
                _ConnectionString["C_bei120"] = "Server=121.79.28.39;Database=C_bei;User ID=test;Password=123456.";
                _ConnectionString["gSales"] = "Server=121.79.28.39;Database=gSales;User ID=test;Password=123456.";
                _ConnectionString["C_bei110"] = "Server=121.79.28.39;Database=C_bei110;User ID=test;Password=qifan123456.";
          
        }

        /// <summary>
        /// 获取活动状态的数据库
        /// </summary>
        /// <param name="DBID">账套编号</param>
        /// <returns></returns>
        public static IDatabase GetDatabase(DBIDs DBID)
        {
            //使用缓存的IDatabase实例
            if (!_ActivedDBs.ContainsKey(DBID.ToString()))
            {
                IDatabase db = DatabaseFactory.CreateSqlDatabase(_ConnectionString[DBID.ToString()]);//OK
                _ActivedDBs.Add(DBID.ToString(), db);
            }

            return _ActivedDBs[DBID.ToString()];
        }
    }

实例化数据库

C# 全选
IDatabase db = DatabaseFactory.CreateSqlDatabase(“连接字符串”);

DBIDs

DBID,Database ID的简称,数据库编号。DBIDs是个枚举类型,定义企业级系统需要连接的数据库编号。

参考:

全选
  public enum DBIDs
    {
        /// <summary>
        /// MiniSystem作为系统库
        /// </summary>
        MiniSystem,

        /// <summary>
        /// 其他数据库、账套数据库
        /// </summary>
        GTDB8120,
        /// <summary>
        /// 其他数据库、账套数据库
        /// </summary>
        C_bei120,
        /// <summary>
        /// 其他数据库、账套数据库
        /// </summary>
        gSales,
        /// <summary>
        /// ERP数据库、其他数据库、账套数据库
        /// </summary>
        C_bei110
    }

底图-软件开发框架-csframework-开发框架文库

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:DAL层连接多数据库跨服务器进行数据交互对接
下一篇:C#根据本地IP获取MAC地址(Windows API SendARP函数方式)
评论列表

发表评论

评论内容
昵称:
关联文章

DatabaseProvider详解
C/S框架多数据库应用之账套数据库提供者DatabaseProvider设计图
CG_LookupDataBoundAttribute详解
C# WebService代理详解
Loginer 详解,全局用户登录对象
MenuAction详解 - Winform开发框架
ORM_TableAttribute详解:资料表特性定义
DataBinder详解 - Winform MiniFramework蝇量框架
UserConfig详解 - Winform 蝇量级开发框架
C/S系统开发框架权限系统 - 数据窗体权限值 - AuthorityCategory详解
C/S系统开发框架权限系统 - 功能按钮权限值 - ButtonAuthority详解
ORM_FieldAttribute详解:字段特性定义,框架内核根据此特性自动生成SQL脚本
DevExpress换肤详解
Visual Studio Refactor(重构)菜单详解
C/S快速开发框架旗舰版V5.1 - 数据字典窗体bllBaseDataDict详解
DataDictCache - 全局缓存设计逻辑详解
C#.Net 静态构造器使用详解
C#.Net反射(Reflaction)技术实例详解
Entity Framework(EF):DbContextConfiguration属性详解
C# WebService异步处理/异步调用详解