private void FormatCountQuery() { string tableName = SqlHelpers.FormatTableName(_query.TableName); _sql.AppendFormat("SELECT COUNT(1) AS [count] FROM {0}", tableName); if (_query.Filter != null) { FormatWhereClause(_query.Filter); } }
public string FormatSelect() { var command = new StringBuilder("SELECT "); if (_query.Selection.Any()) { string columnNames = string.Join(", ", _query.Selection.Select(c => SqlHelpers.FormatMember(c))); command.Append(columnNames); } else { command.Append("*"); } return(FormatQuery(command.ToString())); }
public string FormatDelete() { var delQuery = _query.Clone(); // create a copy to avoid modifying the original delQuery.Selection.Clear(); delQuery.Selection.Add(MobileServiceSystemColumns.Id); delQuery.IncludeTotalCount = false; var formatter = new SqlQueryFormatter(delQuery); string selectIdQuery = formatter.FormatSelect(); string idMemberName = SqlHelpers.FormatMember(MobileServiceSystemColumns.Id); string tableName = SqlHelpers.FormatTableName(delQuery.TableName); string command = $"DELETE FROM {tableName} WHERE {idMemberName} IN ({selectIdQuery})"; Parameters = formatter.Parameters; return(command); }
public override QueryNode Visit(ConvertNode nodeIn) { _sql.Append("CAST("); QueryNode source = nodeIn.Source.Accept(this); _sql.Append(" AS "); string sqlType = SqlHelpers.GetStoreCastType(nodeIn.TargetType); _sql.Append(sqlType); _sql.Append(")"); if (source != nodeIn.Source) { return(new ConvertNode(source, nodeIn.TargetType)); } return(nodeIn); }