/// <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); }
public CrudService(DbContext context, ForeignKeyPropertyCache propertyCache, AutoMapperConfigProvider <AutomapperConfigType> autoMapperConfigProvider) : base(context, propertyCache, autoMapperConfigProvider) { }