CSFramework.DB 应用场景
CSFramework.DB 应用场景
目录
3.1 IDatabase接口应用 – 获取实体对象
3.2 IDatabase接口应用 – 返回DataTable
3.3 数据访问层应用
数据访问层采用继承方式设计,开发框架提供的dalBase基类定义受保护的_Database成员变量,实例化数据访问层同时实例化数据库对象,为DAL层访问和操作数据库提供底层接口。
3.4 多账套多数据库应用
开发框架预设提供两个数据库:系统数据库和业务数据库(账套数据库)。
3.4.1 系统数据库
系统数据库将承载更多的通用以及公共数据,比如软件系统配置信息、用户权限信息,集团报表数据、各种财务报表、公司营运动态数据、内部通知以及OA在线办公等。大型软件系统通常采用这种多帐套机制,在服务端所谓的后台架构设计,系统数据库通常被开发人员作为各个数据库之间的通信桥梁,比如跨库存储过程、LinkServer等。
3.4.2 账套数据库
账套:是一组相互关联的数据,每一个独立核算的企业都有一套相互关联的账簿体系,把这一套完整的账簿体系建立在计算机系统中就称为一个账套。一般一个企业只用一个帐套,如果企业有几个下属的独立核算的实体,就可以建几个帐套。帐套之间是相对独立的,也就是说:建立、删除或修改一个帐套中的数据,不会对其他帐套有任何影响。
账套数据库:C/S系统快速开发框架账套数据库是指业务数据库,一个账套对应一个独立的数据库,账套数据库用于存储企业业务信息系统的数据,如存货数据、库存数据、采购数据、销售数据、生产数据、财务数据、报表数据等。
帐套通常应用在大型集团企业的管理系统,一般一个企业只用一个帐套,若企业旗下有独立核算的实体子公司,就可以建几个帐套。账套之间是相对独立的,也就是说:建立、删除或修改一个账套中的数据,不会对其他帐套有任何影响。开发框架引入多帐套设计理念,使数据独立存储,灵活配置和扩展,便于管理和维护。
3.5 基于账套数据库的数据访问层流程设计
3.5.1 流程体系架构图
3.5.2 测试场景说明
测试场景:触发UI层按钮事件获取客户资料,首先调用业务逻辑层的Get方法,再传递到数据访问层,在DAL层编写好SQL脚本,并调用_Database对象的方法返回数据。 Loginer对象记录用户登录信息、帐套编号、Token或其他信息,作为全局变量的形式贯穿整个系统(包括前段和后端),是非常重要的数据之一。 帐套编号(DBID)是Database ID的缩写,用户登录成功时记录帐套编号,实例化数据访问层同时根据DBID实例化对应的数据库。
3.5.3 数据访问层实例化IDataBase接口
3.5.4 DatabaseProvider类库设计图
设计思路:
1. 创建一个账套列表,
//账套连接字符串列表,第1个string对应DBID, 第2个string对应连接字符串。
private static Dictionary<string, string> _ConnectionString = new Dictionary<string, string>();
2. 添加账套连接字符串。
3. 实现GetDatabase方法,传入DBID参数返回IDatabase对象实例。
作者微信