SmartSQL/SmartSQL.Framework/Exporter/PostgreSqlExporter.cs

(开头部分) 15KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SmartSQL.Framework.PhysicalDataModel;
using SmartSQL.Framework.Util;
using SqlSugar;

namespace SmartSQL.Framework.Exporter
{
    public class PostgreSqlExporter : Exporter, IExporter
    {
        private readonly IDbMaintenance _dbMaintenance;
        public PostgreSqlExporter(string connectionString) : base(connectionString)
        {
            _dbMaintenance = SugarFactory.GetDbMaintenance(DbType.PostgreSQL, DbConnectString);
        }
        public PostgreSqlExporter(string connectionString, string dbName) : base(connectionString, dbName)
        {
            _dbMaintenance = SugarFactory.GetDbMaintenance(DbType.PostgreSQL, DbConnectString);
        }

        public PostgreSqlExporter(string tableName, List<Column> columns) : base(tableName, columns)
        {

        }

        public override Model Init()
        {
            var model = new Model { Database = "PostgreSql" };
            try
            {
                model.Tables = this.GetTables();
                model.Views = this.GetViews();
                model.Procedures = new Procedures();// this.GetProcedures();
                return model;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public override List<DataBase> GetDatabases(string defaultDatabase = "")
        {
            #region MyRegion
            var dbClient = SugarFactory.GetInstance(DbType.PostgreSQL, DbConnectString);
            var schemaSql = "SELECT nspname AS NspName FROM pg_catalog.pg_namespace order by nspname asc ";
            var schemaList = dbClient.SqlQueryable<SchemaInfo>(schemaSql).ToList();
            //var dataBaseList = _dbMaintenance.GetDataBaseList(dbClient);
            var list = new List<DataBase>();
            schemaList.ForEach(schema =>
            {
                if (schema.Equals("pg_toast")|| schema.Equals("pg_catalog") || schema.Equals("information_schema"))
                {
                    return;
                }
                var dBase = new DataBase
                {
后面还有 355 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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