Example #1
0
        private static void RegisterCustomMappings(ModelBuilder modelBuilder, IEnumerable <Type> typeToRegisters)
        {
            #region Variables

            IEnumerable <Type>  customModelBuilderTypes = null;
            ICustomModelBuilder builder = null;

            #endregion Variables

            #region Action Body

            customModelBuilderTypes = typeToRegisters.Where(x => typeof(ICustomModelBuilder).IsAssignableFrom(x));
            foreach (var builderType in customModelBuilderTypes)
            {
                if (builderType != null && builderType != typeof(ICustomModelBuilder))
                {
                    builder = (ICustomModelBuilder)Activator.CreateInstance(builderType);
                    builder.Build(modelBuilder);
                }
            }

            #endregion Action Body

            #region Clear Memory

            modelBuilder            = null;
            typeToRegisters         = null;
            customModelBuilderTypes = null;
            builder = null;

            #endregion Clear Memory
        }
Example #2
0
        private static void RegisterCustomMappings(ModelBuilder modelBuilder, IEnumerable <Type> typeToRegisters)
        {
            IEnumerable <Type> customModelBuilderTypes = typeToRegisters.Where(x => typeof(ICustomModelBuilder).IsAssignableFrom(x));

            foreach (Type builderType in customModelBuilderTypes)
            {
                if (builderType != null && builderType != typeof(ICustomModelBuilder))
                {
                    ICustomModelBuilder builder = (ICustomModelBuilder)Activator.CreateInstance(builderType);
                    builder.Build(modelBuilder);
                }
            }
        }
Example #3
0
        private static void RegisterCustomMappings(
            this ModelBuilder builder,
            IEnumerable <Type> fromTypes)
        {
            IEnumerable <Type> customModelBuilderTypes =
                fromTypes.Where(predicate: x => x != null &&
                                typeof(ICustomModelBuilder).IsAssignableFrom(x) &&
                                x != typeof(ICustomModelBuilder))
            ;

            foreach (Type builderType in customModelBuilderTypes)
            {
                ICustomModelBuilder customModelBuilder =
                    (ICustomModelBuilder)Activator.CreateInstance(builderType);

                customModelBuilder.Build(builder);
            }
        }
 public static void RegisterModelBuilders(ICustomModelBuilder builder)
 {
     customModelBuilders.Add(builder);
 }