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
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网