internal static List <IPrimaryKeyDataItem> GetList([NotNull] IBaseClient client) { var primaryKeyDataItems = new List <PrimaryKeyDataItem>(); var spParameterData = new List <ISpParameterData>(); client.BuildItemList(primaryKeyDataItems, SpName.GetTablePrimaryKeyList, spParameterData); return(new List <IPrimaryKeyDataItem>(primaryKeyDataItems)); }
internal static List <IColumnDataItem> GetList([NotNull] IBaseClient client, [NotNull] List <IIndexDataItem> allIndexDataItems) { var columnDataItems = new List <ColumnDataItem>(); var spParameterData = new List <ISpParameterData>(); client.BuildItemList(columnDataItems, SpName.GetColumnList, spParameterData); columnDataItems .Where(x => x.Name.Equals("syslock", StringComparison.OrdinalIgnoreCase)) .ForEach(x => x.IsLockInfo = true); columnDataItems .Where(x => x.Name.Equals("sysupdatetime", StringComparison.OrdinalIgnoreCase)) .ForEach(x => x.IsAutoUpdated = true); allIndexDataItems .Where(indexDataItem => indexDataItem.IsPrimaryKey) .SelectMany(indexDataItem => columnDataItems .Where(columnDataItem => columnDataItem.Name == indexDataItem.IndexName && columnDataItem.TableName == indexDataItem.TableName)) .ForEach(x => x.IsPrimaryKey = true); return(new List <IColumnDataItem>(columnDataItems)); }