/// <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)); } }
/// <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")); } }