public void TestSqlServer2008() { 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) }) }; CollectionBinaryExpression binaryExpression = new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression(new[] {"PostCode"}), new ForceIndexExpression(true), new IndexNamesExpression(new[] {"Index1", "Index2"}) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
public void TestSqlServer2008() { 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) }) }; CollectionBinaryExpression binaryExpression = new CollectionBinaryExpression(new PropertyNameExpression("PostCode"), CollectionOperator.In, new CollectionExpression(new[] { 3, 4, 5, 6 })); ProviderPropertiesExpression providerProps = new ProviderPropertiesExpression( new ProviderPropertyExpression[] { new WithNoLockExpression(true), //new OrderByCollectionExpression(new[] {"PostCode"}), new ForceIndexExpression(true), new IndexNamesExpression(new[] { "Index1", "Index2" }) }); ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(), binaryExpression); object obj = search.ExecuteQuery(prov); Assert.IsNotNull(obj); }
protected virtual void VisitCollectionBinaryExpression(StringBuilder builder, CollectionBinaryExpression exp) { if (exp == null) { return; } if (Enumerable.Count(Caster.Cast <object>(exp.Right.Collection)) == 0) { return; } StringBuilder sb = new StringBuilder(); VisitExpression(sb, exp.Left); sb.Append(GetCollectionExpressionString(exp.Op)); VisitExpression(sb, exp.Right); if (sb.Length > 0) { builder.AppendFormat("({0})", sb); } }