public void TestMsSqlServer2008OrderBy() { GeometryServices services = new GeometryServices(); MsSqlServer2008Provider <long> search = new MsSqlServer2008Provider <long>(services.DefaultGeometryFactory, ConfigurationManager. ConnectionStrings["sql2008"]. ConnectionString, "dbo", "vwGeoCustomers", "OID", "Geom") { DefaultProviderProperties = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), new ForceIndexExpression(true) }) }; //var binaryExpression = // new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); AttributeBinaryStringExpression binaryExpression = new AttributeBinaryStringExpression("PostCode", BinaryStringOperator. StartsWith, "W"); IGeometry testPoint = new GeometryServices()["EPSG:27700"].CreatePoint2D(500000, 180000); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression( // new [] // { // new OrderByExpression( // new SpatialAnalysisDistanceExpression(new GeometryExpression(null),new GeometryExpression(testPoint) ),SortOrder.Ascending), // }), new DataPageSizeExpression(10), new DataPageNumberExpression(0) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression, new SortExpressionCollectionExpression( new[] { new SortExpression( new SpatialAnalysisDistanceExpression( new GeometryExpression(null), new GeometryExpression(testPoint)), SortOrder.Ascending) })); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
public void TestMsSqlSpatialPaged() { GeometryServices services = new GeometryServices(); MsSqlSpatialProvider search = new MsSqlSpatialProvider(services.DefaultGeometryFactory, ConfigurationManager.ConnectionStrings["mssqlspatial" ]. ConnectionString, "ST", "dbo", "BRoads", "OID", "the_geom") { DefaultProviderProperties = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), new ForceIndexExpression(true) }) }; //var binaryExpression = // new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); AttributeBinaryStringExpression binaryExpression = new AttributeBinaryStringExpression("NAME", BinaryStringOperator. StartsWith, "W"); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression(new[] {"NAME"}), new ForceIndexExpression(true), new IndexNamesExpression(new[] { "Index1", "Index2" }), new DataPageSizeExpression(10), new DataPageNumberExpression(5) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
public void TestSqlServer2008Paged() { GeometryServices services = new GeometryServices(); MsSqlServer2008Provider <long> search = new MsSqlServer2008Provider <long>(services.DefaultGeometryFactory, ConfigurationManager. ConnectionStrings["sql2008"]. ConnectionString, "dbo", "vw_iMARS_BRANCH", "ACSId", "Geom") { DefaultProviderProperties = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), new ForceIndexExpression(true) }) }; //var binaryExpression = // new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); AttributeBinaryStringExpression binaryExpression = new AttributeBinaryStringExpression("PostCode", BinaryStringOperator. StartsWith, "W"); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression(new[] {"PostCode"}), new ForceIndexExpression(true), new IndexNamesExpression(new[] { "Index1", "Index2" }), new DataPageSizeExpression(10), new DataPageNumberExpression(5) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
protected virtual void VisitBinaryStringExpression(StringBuilder builder, AttributeBinaryStringExpression exp) { if (exp == null) { return; } StringBuilder sb = new StringBuilder(); VisitExpression(sb, exp.Left); if (sb.Length > 0) { sb.Append(GetBinaryStringExpressionString(exp.Op, exp.Right)); } VisitStringLiteralExpression(sb, exp.Op, exp.Right); if (sb.Length > 0) { builder.AppendFormat("({0})", sb); } }
public void TestMsSqlServer2008OrderBy() { GeometryServices services = new GeometryServices(); MsSqlServer2008Provider<long> search = new MsSqlServer2008Provider<long>(services.DefaultGeometryFactory, ConfigurationManager. ConnectionStrings["sql2008"]. ConnectionString, "dbo", "vwGeoCustomers", "OID", "Geom") { DefaultProviderProperties = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), new ForceIndexExpression(true) }) }; //var binaryExpression = // new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); AttributeBinaryStringExpression binaryExpression = new AttributeBinaryStringExpression("PostCode", BinaryStringOperator. StartsWith, "W"); IGeometry testPoint = new GeometryServices()["EPSG:27700"].CreatePoint2D(500000, 180000); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression( // new [] // { // new OrderByExpression( // new SpatialAnalysisDistanceExpression(new GeometryExpression(null),new GeometryExpression(testPoint) ),SortOrder.Ascending), // }), new DataPageSizeExpression(10), new DataPageNumberExpression(0) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression, new SortExpressionCollectionExpression( new[]{new SortExpression( new SpatialAnalysisDistanceExpression( new GeometryExpression(null), new GeometryExpression(testPoint)),SortOrder.Ascending)})); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
public void TestMsSqlSpatialPaged() { GeometryServices services = new GeometryServices(); MsSqlSpatialProvider search = new MsSqlSpatialProvider(services.DefaultGeometryFactory, ConfigurationManager.ConnectionStrings["mssqlspatial" ]. ConnectionString, "ST", "dbo", "BRoads", "OID", "the_geom") { DefaultProviderProperties = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), new ForceIndexExpression(true) }) }; //var binaryExpression = // new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); AttributeBinaryStringExpression binaryExpression = new AttributeBinaryStringExpression("NAME", BinaryStringOperator. StartsWith, "W"); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression(new[] {"NAME"}), new ForceIndexExpression(true), new IndexNamesExpression(new[] {"Index1", "Index2"}), new DataPageSizeExpression(10), new DataPageNumberExpression(5) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
public void TestSqlServer2008Paged() { GeometryServices services = new GeometryServices(); MsSqlServer2008Provider<long> search = new MsSqlServer2008Provider<long>(services.DefaultGeometryFactory, ConfigurationManager. ConnectionStrings["sql2008"]. ConnectionString, "dbo", "vw_iMARS_BRANCH", "ACSId", "Geom") { DefaultProviderProperties = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), new ForceIndexExpression(true) }) }; //var binaryExpression = // new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); AttributeBinaryStringExpression binaryExpression = new AttributeBinaryStringExpression("PostCode", BinaryStringOperator. StartsWith, "W"); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression(new[] {"PostCode"}), new ForceIndexExpression(true), new IndexNamesExpression(new[] {"Index1", "Index2"}), new DataPageSizeExpression(10), new DataPageNumberExpression(5) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }