public override IEnumerable GetData(ParameterInfo parameter) { if (Include != null) { var list = Include.Intersect( IncludeLinqService ? UserProviders.Concat(UserProviders.Select(p => p + ".LinqService")) : UserProviders). ToArray(); return(list); } var providers = new List <string>(); foreach (var info in Providers) { if (info.Skip && Include == null) { continue; } if (Except != null && Except.Contains(info.Name)) { continue; } if (!UserProviders.Contains(info.Name)) { continue; } providers.Add(info.Name); if (IncludeLinqService && !ExcludeLinqService) { providers.Add(info.Name + ".LinqService"); } } return(providers.ToArray()); }