/// <summary> /// Gets the filter function /// </summary> public IDbFilterFunction GetFilterFunction(string name) { if (s_filterFunctions == null) { s_filterFunctions = ApplicationServiceContext.Current.GetService <IServiceManager>() .CreateInjectedOfAll <IDbFilterFunction>() .Where(o => o.Provider == "pgsql") .ToDictionary(o => o.Name, o => o); } IDbFilterFunction retVal = null; s_filterFunctions.TryGetValue(name, out retVal); return(retVal); }
/// <summary> /// Gets the filter function /// </summary> public IDbFilterFunction GetFilterFunction(string name) { if (s_filterFunctions == null) { s_filterFunctions = AppDomain.CurrentDomain.GetAssemblies() .Where(a => !a.IsDynamic) .SelectMany(a => { try { return(a.ExportedTypes); } catch { return(Type.EmptyTypes); } }) .Where(t => typeof(IDbFilterFunction).IsAssignableFrom(t) && !t.IsAbstract) .Select(t => Activator.CreateInstance(t) as IDbFilterFunction) .ToDictionary(o => o.Name, o => o); } IDbFilterFunction retVal = null; s_filterFunctions.TryGetValue(name, out retVal); return(retVal); }