private static void RestoreTidUniqueColumn(EduHubEntity entity) { // check no unique column is available if (!entity.Indexes.Any(e => e.IsUnique)) { var tidColumn = entity.Fields.FirstOrDefault(e => e.Name.Equals("TID", StringComparison.Ordinal) && !e.IsNullable && e.SqlType.Equals("int")); // has valid TID column if (tidColumn != null) { // existing index? var index = entity.Indexes.FirstOrDefault(i => i.Fields.Contains(tidColumn)); if (index == null) { // create index var fields = new List <EduHubField>() { tidColumn }; index = new EduHubIndex(entity, "Index_TID", fields, false, true, false); entity.AddIndex(index); } } } }
private static void RestorePrimaryKey(EduHubEntity entity) { if (!entity.Indexes.Any(i => i.IsPrimary)) { var index = entity.Indexes.FirstOrDefault(i => i.Name.Equals("Index_TID", StringComparison.Ordinal) && i.IsUnique); if (index != null) { index.IsPrimary = true; } } }