/// <summary> /// Generates simple SELECT statement based on a model class name. /// </summary> /// <param name="subQueryPrefix"> /// The prefix for alias and parameter names when the query is part of another query. /// </param> /// <returns> /// The SQL command as text and the dictionary od parameters. /// </returns> public ParameterizedSql GetSqlCommand(string subQueryPrefix) { return(new ParameterizedSql { Command = "SELECT * FROM " + nameResolver.ResolveTableName(ModelType), Parameters = new Dictionary <string, object>() }); }
private string GetJoinClauseText(SelectQueryData.JoinSpec join) { var alias = subQueryPrefix + join.ResultSelector.Parameters[1].Name; var member = FindMemberSetByParameter(join, 1); if (member != null) { aliases[member] = alias; } string innerData = "[" + nameResolver.ResolveTableName(join.InnerData.ModelType) + "]"; var clause = string.Format(" {0} JOIN {1} [{2}] ON {3} = {4}", join.JoinType, GetJoinSourceSql(join.InnerData), alias, GetOuterKeyColumn(join.OuterKeySelector.Body), GetInnerKeyColumn(join.InnerKeySelector.Body, alias)); if (lastTableAlias != null) { lastTableAlias = alias; } return(clause); }