Exemple #1
0
        /// <summary>
        /// 读取SQL Server
        /// </summary>
        /// <returns></returns>
        private static List <TBField> ReaderSQLServer(DBContext dbContext)
        {
            #region sql

            /// <summary>
            /// 获取字段信息以及注释等sql语句
            /// </summary>
            string sql = @"select sysobjects.name as TableName,syscolumns.name as Name,systypes.name as DataType,
                            ispk= case when 
                            exists(select 1 from sysobjects where xtype='PK' and parent_obj=syscolumns.id and name in
                             (select name from sysindexes where indid 
                            in(select indid from sysindexkeys where id = syscolumns.id AND colid=syscolumns.colid)))
                             then 1 else 0 end,columndescription= isnull(sys.extended_properties.[value],''),
                            tabledescription=case when (select count(*) from sys.extended_properties 
                            where major_id=sysobjects.id and minor_id=0)=1 then 
                            (select [value] from sys.extended_properties where major_id=sysobjects.id and minor_id=0) else '' end 
                            from sysobjects inner join syscolumns on sysobjects.id = syscolumns.id 
                            left join systypes  on syscolumns.xtype = systypes.xusertype  
                            left join sys.extended_properties on syscolumns.id = sys.extended_properties.major_id 
                            and syscolumns.colid = sys.extended_properties.minor_id 
                            where sysobjects.xtype='U' and sysobjects.name <>'sysdiagrams'";

            #endregion

            using (DBSession db = DBSession.TryGet(dbContext.DbKey))
            {
                return(db.GetCustomerList <TBField>(sql));
            }
        }
Exemple #2
0
 /// <summary>
 /// 读取Oracle
 /// </summary>
 /// <returns></returns>
 private static List <TBField> ReaderOracle(DBContext dbContext)
 {
     using (DBSession db = DBSession.TryGet(dbContext.DbKey))
     {
         //获取所有table
         return(db.GetCustomerList <TBField>("select TABLE_NAME TableName,COLUMN_NAME Name,data_type DataType from user_tab_cols"));
     }
 }