1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using YiSha.Data.EF;
- using YiSha.Enum;
- using YiSha.Util;
- namespace YiSha.Data.Repository
- {
- public interface IRepositoryFactory
- {
- Repository BaseRepository(DBConnectTypeEnum type);
- }
- public class RepositoryFactory : IRepositoryFactory
- {
- public Repository BaseRepository(DBConnectTypeEnum type)
- {
- IDatabase database = null;
- DBConnectHelper.GetInstance.GetDBConnectInfo(type, out string dbType, out string dbConnectionString);
- switch (dbType)
- {
- case "SqlServer":
- DbHelper.DbType = DatabaseType.SqlServer;
- database = new SqlServerDatabase(dbConnectionString);
- break;
- case "MySql":
- DbHelper.DbType = DatabaseType.MySql;
- database = new MySqlDatabase(dbConnectionString);
- break;
- case "Oracle":
- DbHelper.DbType = DatabaseType.Oracle;
- // 支持Oracle或是更多数据库请参考上面SqlServer或是MySql的写法
- break;
- default:
- throw new Exception("未找到数据库配置");
- }
- return new Repository(database);
- }
- }
- }
|