RepositoryFactory.T.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Lottomat.Application.Code;
  2. using Lottomat.Util;
  3. using Lottomat.Util.Extension;
  4. namespace Lottomat.Data.Repository
  5. {
  6. /// <summary>
  7. /// 版 本 1.0
  8. /// Copyright (c) 2016-2017
  9. /// 创建人:赵轶
  10. /// 日 期:2015.10.10
  11. /// 描 述:定义仓储模型工厂
  12. /// </summary>
  13. /// <typeparam name="T">动态实体类型</typeparam>
  14. public class RepositoryFactory<T> where T : class, new()
  15. {
  16. /// <summary>
  17. /// 定义仓储
  18. /// </summary>
  19. /// <param name="connString">连接字符串</param>
  20. /// <returns></returns>
  21. public IRepository<T> BaseRepository(string connString)
  22. {
  23. return new Repository<T>(DbFactory.Base(connString, DatabaseType.SqlServer));
  24. }
  25. /// <summary>
  26. /// 定义仓储(基础库)
  27. /// </summary>
  28. /// <returns></returns>
  29. public IRepository<T> BaseRepository(DatabaseLinksEnum links = DatabaseLinksEnum.Base)
  30. {
  31. switch (links)
  32. {
  33. case DatabaseLinksEnum.Base:
  34. return new Repository<T>(DbFactory.Base());
  35. case DatabaseLinksEnum.InformationBase:
  36. return new Repository<T>(DbFactory.Base(GlobalStaticConstant.DB_LINK_INFORMATION_BASE, DatabaseType.SqlServer));
  37. case DatabaseLinksEnum.GalleryBase:
  38. return new Repository<T>(DbFactory.Base(GlobalStaticConstant.DB_LINK_GALLERY_BASE, DatabaseType.SqlServer));
  39. case DatabaseLinksEnum.CP55128:
  40. return new Repository<T>(DbFactory.Base(GlobalStaticConstant.DB_LINK_CP55128_BASE, DatabaseType.SqlServer));
  41. case DatabaseLinksEnum.CB55128:
  42. return new Repository<T>(DbFactory.Base(GlobalStaticConstant.DB_LINK_CB55128_BASE, DatabaseType.SqlServer));
  43. case DatabaseLinksEnum.LotteryNumber:
  44. return new Repository<T>(DbFactory.Base(GlobalStaticConstant.DB_LINK_LOTTERY_NUMBER_BASE, DatabaseType.SqlServer));
  45. default:
  46. return new Repository<T>(DbFactory.Base());
  47. }
  48. }
  49. }
  50. }