コード例 #1
0
        /// <summary>
        /// 重写SuktAppModule
        /// </summary>
        /// <param name="service"></param>
        /// <returns></returns>
        public override void ConfigureServices(ConfigureServicesContext context)
        {
            var service          = context.Services;
            var assemblyFinder   = service.GetOrAddSingletonService <IAssemblyFinder, AssemblyFinder>();
            var assemblys        = assemblyFinder.FindAll();
            var suktAutoMapTypes = assemblys.SelectMany(x => x.GetTypes()).Where(s => s.IsClass && !s.IsAbstract && s.HasAttribute <SuktAutoMapperAttribute>(true)).Distinct().ToArray();

            service.AddAutoMapper(mapper =>
            {
                this.CreateMapping <SuktAutoMapperAttribute>(suktAutoMapTypes, mapper);
            }, assemblys, ServiceLifetime.Singleton);
            var mapper = service.GetBuildService <IMapper>();//获取autoMapper实例

            AutoMapperExtension.SetMapper(mapper);
        }