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 蝇量级开发框架
CSFramework.WebApiV3.UserContext详解
CSFramework.WebApiV3.UserContext详解
C/S系统开发框架权限系统 - 数据窗体权限值 - AuthorityCategory详解
C/S系统开发框架权限系统 - 功能按钮权限值 - ButtonAuthority详解
ORM_FieldAttribute详解:字段特性定义,框架内核根据此特性自动生成SQL脚本
DevExpress换肤详解
Visual Studio Refactor(重构)菜单详解
C/S快速开发框架旗舰版V5.1 - 数据字典窗体bllBaseDataDict详解
EntityFrameworkCore EF ModelBuilder/OnModelCreating方法详解
DataDictCache - 全局缓存设计逻辑详解
C#.Net 静态构造器使用详解

热门标签
.NET5 .NET6 .NET7 APP Auth-软件授权注册系统 Axios B/S B/S开发框架 Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 DAL数据访问层 Database datalock DbFramework Demo教学 Demo下载 DevExpress教程 DOM EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS NavBarControl Node.JS NPM OMS ORM PaaS POS Promise API Redis SAP SEO SQL SQLConnector TMS系统 Token令牌 VS2022 VSCode VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 版本区别 报表 踩坑日记 操作手册 代码生成器 迭代开发记录 基础资料窗体 架构设计 角色权限 开发sce 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 秘钥 密钥 权限设计 软件报价 软件测试报告 软件简介 软件开发框架 软件开发平台 软件开发文档 软件体系架构 软件下载 软著证书 三层架构 设计模式 生成代码 实用小技巧 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序