internal static IQueryable Where(this IQueryable source, Types.Constraint constraint, XmlNamespaceManager namespaceManager = null, bool mayRootPathBeImplied = false, IOperatorImplementationProvider operatorImplementationProvider = null) { Debug.Assert(source != null); if (source == null) { throw new ArgumentNullException("source"); } Debug.Assert(constraint != null); if (constraint == null) { throw new ArgumentNullException("constraint"); } IQueryable ret = source; //if (constraint.Filter!=null) if (constraint.Untyped.Descendants("{http://www.opengis.net/ogc}Filter").Any <XElement>()) { ret = Filter110.FilterQueryable.Where(ret, constraint.Filter, namespaceManager, mayRootPathBeImplied, operatorImplementationProvider, (t, r) => new XPathQueryableNavigator(t, r)); } if (!string.IsNullOrWhiteSpace(constraint.CqlText)) { ret = Cql.CqlQueryable.Where(ret, constraint.CqlText, namespaceManager, mayRootPathBeImplied, operatorImplementationProvider); } return(ret); }
internal static IQueryable <T> Where <T>(this IQueryable <T> source, Types.Constraint constraint, XmlNamespaceManager namespaceManager = null, bool mayRootPathBeImplied = false, IOperatorImplementationProvider operatorImplementationProvider = null) { return((IQueryable <T>)Where((IQueryable)source, constraint, namespaceManager, mayRootPathBeImplied, operatorImplementationProvider)); }