// TODO -- use the mapping off of DocumentQuery later public string JsonLocator(IDocumentMapping mapping, Expression expression) { var visitor = new FindMembers(); visitor.Visit(expression); var field = mapping.FieldFor(visitor.Members); return(field.SqlLocator); }
public IWhereFragment Parse(IDocumentMapping mapping, ISerializer serializer, MethodCallExpression expression) { var finder = new FindMembers(); finder.Visit(expression); var members = finder.Members; var locator = mapping.FieldFor(members).SqlLocator; var values = expression.Object.Value(); return new WhereFragment($"{locator} = ANY(?)", values); }
// TODO -- use the mapping off of DocumentQuery later public string JsonLocator(IDocumentMapping mapping, Expression expression) { var visitor = new FindMembers(); visitor.Visit(expression); //return new JsonLocatorField(visitor.Members.ToArray()).SqlLocator; var field = mapping.FieldFor(visitor.Members); _query.RegisterField(field); return(field.SqlLocator); }
public IWhereFragment Parse(IDocumentMapping mapping, ISerializer serializer, MethodCallExpression expression) { var locator = mapping.FieldFor(new MemberInfo[] {_property}).SqlLocator; return new WhereFragment($"{locator} = 'Blue'"); }
// TODO -- use the mapping off of DocumentQuery later public string JsonLocator(IDocumentMapping mapping, Expression expression) { var visitor = new FindMembers(); visitor.Visit(expression); //return new JsonLocatorField(visitor.Members.ToArray()).SqlLocator; var field = mapping.FieldFor(visitor.Members); _query.RegisterField(field); return field.SqlLocator; }