Exemplo n.º 1
0
        /// <summary>
        /// Registers the default <see cref="IAutoMapperConfigProvider"/> with the DI container if it does not already exist
        /// This uses <see cref="AutomapperConfigType"/> as the Config Type.
        /// </summary>
        /// <param name="services"></param>
        /// <param name="instance">The instance of the config provider</param>
        /// <returns></returns>
        public static IServiceCollection AddDefaultAutoMapperProvider(this IServiceCollection services, Action <IMapperConfigurationExpression> defaultConfigExpression)
        {
            if (!services.Any(x => x.GetType() == typeof(IAutoMapperConfigProvider)))
            {
                IAutoMapperConfigProvider provider = new AutoMapperConfigProvider(defaultConfigExpression, AutomapperConfigType.Default);

                services.TryAddSingleton <IAutoMapperConfigProvider>(provider);
                services.TryAddSingleton <IAutoMapperConfigProvider <AutomapperConfigType> >(x => x.GetRequiredService <IAutoMapperConfigProvider>());
            }
            else
            {
                throw new InvalidOperationException("The default mapper provider has already been registered, please use the ServiceRegistered() extension method to check.");
            }

            return(services);
        }
Exemplo n.º 2
0
 public CrudService(DbContext context, ForeignKeyPropertyCache propertyCache, AutoMapperConfigProvider <AutomapperConfigType> autoMapperConfigProvider)
     : base(context, propertyCache, autoMapperConfigProvider)
 {
 }