Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
        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;
                }
            }
        }