예제 #1
0
 /// <summary>
 /// Read the IndexColumn from the database.
 /// </summary>
 /// <param name="sqlTransConnection">the TransConnection.</param>
 /// <returns>the columns.</returns>
 public List <SqlSysIndexColumn> ReadIndexColumn(SqlTransConnection sqlTransConnection)
 {
     using (var command = sqlTransConnection.SqlCommand(System.Data.CommandType.Text, SqlSysIndexColumn.SELECTStatement)) {
         var sqlResults = SqlUtility.ExecuteReader(command, false, false);
         var result     = EntityFlexible.ConvertFromSqlResult <SqlSysIndexColumn>(nameof(SqlSysIndexColumn), sqlResults.First(), SqlSysIndexColumn.Factory);
         result.ForEach((item) => {
             {
                 var obj = this.AllObjectsById.GetValueOrDefault(item.object_id);
                 if ((object)obj != null)
                 {
                     var index = obj.GetIndexes().Where(_ => _.index_id == item.index_id).FirstOrDefault();
                     if ((object)index != null)
                     {
                         index.IndexColumns.Add(item);
                     }
                 }
             }
         });
         return(result);
     }
 }
예제 #2
0
        /// <summary>
        /// Read the databases from the server;
        /// </summary>
        /// <returns>the databases</returns>
        public List <SqlSysDatabase> ReadDatabases()
        {
            var sqlTransConnection = this.EnsureOpenTransConnection();

            try {
                using (var command = sqlTransConnection.SqlCommand(System.Data.CommandType.Text, SqlSysDatabase.SELECTAllStatement)) {
                    var sqlResults = SqlUtility.ExecuteReader(command, false, false);
                    var result     = EntityFlexible.ConvertFromSqlResult <SqlSysDatabase>(nameof(SqlSysDatabase), sqlResults.First(), SqlSysDatabase.Factory);
                    result.ForEach((item) => { this.DatabaseById[item.database_id] = item; });
                    return(result);
                }
            } catch { }
            try {
                using (var command = sqlTransConnection.SqlCommand(System.Data.CommandType.Text, SqlSysDatabase.SELECTCurrentStatement)) {
                    var sqlResults = SqlUtility.ExecuteReader(command, false, false);
                    var result     = EntityFlexible.ConvertFromSqlResult <SqlSysDatabase>(nameof(SqlSysDatabase), sqlResults.First(), SqlSysDatabase.Factory);
                    result.ForEach((item) => { this.DatabaseById[item.database_id] = item; });
                    return(result);
                }
            } catch { }
            return(new List <SqlSysDatabase>());
        }