SmartSQL/SmartSQL.Framework/ExporterFactory.cs

(完整代码) 2KB

using System;
using System.Collections.Generic;
using SmartSQL.Framework.Exporter;
using SmartSQL.Framework.PhysicalDataModel;
using SqlSugar;

namespace SmartSQL.Framework
{
    public class ExporterFactory
    {
        /// <summary>
        /// 创建访问数据库的实例工厂
        /// </summary>
        /// <param name="type">数据库类型</param>
        /// <param name="dbConnectionString">数据库连接字符串,访问数据库时必填</param>
        /// <returns></returns>
        public static Exporter.Exporter CreateInstance(DbType type, string dbConnectionString)
        {
            switch (type)
            {
                case DbType.SqlServer: return new SqlServerExporter(dbConnectionString);
                case DbType.MySql: return new MySqlExporter(dbConnectionString);
                case DbType.PostgreSQL: return new PostgreSqlExporter(dbConnectionString);
                case DbType.Sqlite: return new SqliteExporter(dbConnectionString);
                case DbType.Oracle: return new OracleExporter(dbConnectionString);
                case DbType.Dm: return new DmExporter(dbConnectionString);
                default: return new SqlServerExporter(dbConnectionString);
            }
        }

        public static Exporter.Exporter CreateInstance(DbType type, string dbConnectionString, string dbName)
        {
            switch (type)
            {
                case DbType.SqlServer: return new SqlServerExporter(dbConnectionString, dbName);
                case DbType.MySql: return new MySqlExporter(dbConnectionString, dbName);
                case DbType.PostgreSQL: return new PostgreSqlExporter(dbConnectionString, dbName);
                case DbType.Sqlite: return new SqliteExporter(dbConnectionString, dbName);
                case DbType.Oracle: return new OracleExporter(dbConnectionString, dbName);
                case DbType.Dm: return new DmExporter(dbConnectionString, dbName);
                default: return new SqlServerExporter(dbConnectionString, dbName);
            }
        }

        public static Exporter.Exporter CreateInstance(DbType type, string tableName, List<Column> columns)
        {
            switch (type)
            {
                case DbType.SqlServer: return new SqlServerExporter(tableName, columns);
                case DbType.MySql: return new MySqlExporter(tableName, columns);
                case DbType.PostgreSQL: return new PostgreSqlExporter(tableName, columns);
                case DbType.Sqlite: return new SqliteExporter(tableName, columns);
                case DbType.Oracle: return new OracleExporter(tableName, columns);
                case DbType.Dm: return new DmExporter(tableName, columns);
                default: return new SqlServerExporter(tableName, columns);
            }
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读 AI

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。