/// <summary> /// EFCoreExtend的相关服务生成 / 重新生成 /// </summary> public IEFCoreExtendServiceProvider BuildServices() { _scope?.Dispose(); //先释放资源,防止被多次编译了而造成旧的Services没进行内存释放 _scope = Services.BuildServiceProvider().CreateScope(); _serviceProvider = new EFCoreExtendServiceProvider(_scope.ServiceProvider); _buildCallback?.Invoke(_serviceProvider); return(_serviceProvider); }
/// <summary> /// 获取lua sql管理器 /// </summary> /// <param name="service"></param> /// <returns></returns> public static ILuaSqlConfigManager GetLuaSqlMgr(this IEFCoreExtendServiceProvider service) { //return service.Provider.GetService<ILuaSqlConfigManager>(); //在扩展服务重新编译之后进行了赋值,不需要每次都调用GetService获取,提高些许性能,因为GetLuaSqlMgr可能会被大量调用的 return(_luamgr); }