/// <summary> /// 注册应用服务所需组件 /// </summary> /// <param name="services"></param> /// <param name="builderAction"></param> public static void AddErechtheionServices(this IErechtheionBuilder builder) { AutoMapperExtensions.Initialize(); builder.Services.AddTransient <ITopicAppService, TopicAppService>(); builder.Services.AddTransient <IChannelAppService, ChannelAppService>(); }
public static void UseEntityFrameworkCore(this IErechtheionBuilder builder, Action <DbContextOptionsBuilder> optionAction) { var services = builder.Services; services.AddEntityFrameworkSqlServer() .AddDbContext <ErechtheionDbContext>(optionAction); services.AddSingleton <ISeedDataInitiator, SeedDataInitiator>(); //仓储 services.AddScoped <ITopicRepository, TopicRepository>(); }
public static void UseDapperQueries(this IErechtheionBuilder builder) { var assembly = Assembly.GetExecutingAssembly(); var sqlMaps = assembly.GetManifestResourceNames().Where(r => r.Contains("SqlMaps")); var streams = sqlMaps.Select(s => assembly.GetManifestResourceStream(s)); foreach (var stream in streams) { SqlMap.Instance.Load(stream); } builder.Services.AddScoped <ITopicQuerySerivce, TopicQueryService>(); }