private static IQuery Parse(string filter, IRepository repo) { var f = QueryFactory.Instance; //var t = f.Table(repo, "T0"); var q = f.Query(repo); var parser = new ODataFilterParser { _properties = repo.EntityMeta.ManagedProperties.GetCompiledProperties() }; parser.Parse(filter, q); return(q); }
private static FormattedSql Parse(string filter) { var repo = RF.Concrete <TestUserRepository>(); var f = QueryFactory.Instance; var t = f.Table(repo); var parser = new ODataFilterParser { _mainTable = t, _properties = repo.EntityMeta.ManagedProperties.GetCompiledProperties() }; var constraint = parser.Parse(filter); return(QueryNodeTester.GenerateTestSql(constraint)); }
public void TestStartsWith() { var sql = ODataFilterParser.Parser("startswith(username, 'xie')"); Assert.Equal("username like 'xie'%", sql); }
public void TestEmpyt() { Assert.Equal("", ODataFilterParser.Parser("")); }
public void TestIn(string input, string result) { var sql = ODataFilterParser.Parser(input); Assert.Equal(result, sql); }
public void TestContains() { var sql = ODataFilterParser.Parser("contains(username, 'xie')"); Assert.Equal("username like %'xie'%", sql); }
public void TestEndsWith() { var sql = ODataFilterParser.Parser("endswith(username, 'xie')"); Assert.Equal("username like %'xie'", sql); }
public void TestException(string invalidValue) { var result = ODataFilterParser.Parser(invalidValue); Assert.True(result == null); }
public void TestNull() { Assert.Throws <ArgumentNullException>(() => ODataFilterParser.Parser(null)); }