/* * private string DelimitField(Source source, string fieldName) * { * return source == null ? _sqlFormatter.DelimitField(fieldName) : DelimitField(source.EntityName, fieldName); * }*/ private string DelimitField(string entityName, string fieldName) { if (string.IsNullOrEmpty(entityName)) { return(_sqlFormatter.DelimitField(fieldName)); } return(string.Format("{0}.{1}", _sqlFormatter.DelimitTable(entityName), _sqlFormatter.DelimitField(fieldName))); }
private string GetTableJoinString(Source source, ISqlFormatter sqlFormatter, IDictionary <string, string> aliases) { string joinString = sqlFormatter.DelimitTable(EntityName); joinString += " " + aliases[this.ToString()]; joinString = GetInheritanceJoinString(sqlFormatter, source, joinString, aliases); return(joinString); }
private string QuoteSource(Source source, ISqlFormatter withFormatter, IDictionary <string, string> aliases) { if (source == null) { return(string.Empty); } var sourceName = aliases.ContainsKey(source.Name) ? aliases[source.Name] : source.Name; return(withFormatter.DelimitTable(sourceName) + "."); }
private string GetJoinString(ISqlFormatter sqlFormatter, Join join, IDictionary <string, string> aliases) { if (join.JoinFields.Count == 0) { string message = string.Format("SQL cannot be created for the source '{0}' because it has a join to '{1}' without join fields", Name, join.ToSource.Name); throw new HabaneroDeveloperException(message, "Please check how you are building your join clause structure."); } Join.JoinField joinField = join.JoinFields[0]; var toSourceNameWithAlias = sqlFormatter.DelimitTable(join.ToSource.EntityName); toSourceNameWithAlias += " " + aliases[join.ToSource.ToString()]; var fromSourceAlias = sqlFormatter.DelimitTable(join.FromSource.EntityName); fromSourceAlias = aliases[join.FromSource.ToString()]; var toSourceAlias = sqlFormatter.DelimitTable(join.ToSource.EntityName); toSourceAlias = aliases[join.ToSource.ToString()]; string joinString = string.Format("{0} {1} ON {2}.{3} = {4}.{5}", join.GetJoinClause(), toSourceNameWithAlias, fromSourceAlias, sqlFormatter.DelimitField(joinField.FromField.FieldName), toSourceAlias, sqlFormatter.DelimitField(joinField.ToField.FieldName)); if (join.JoinFields.Count > 1) { for (int i = 1; i < join.JoinFields.Count; i++) { joinField = join.JoinFields[i]; var fromSourceAlias1 = sqlFormatter.DelimitTable(join.FromSource.EntityName); fromSourceAlias1 = aliases[join.FromSource.ToString()]; var toSourceAlias1 = sqlFormatter.DelimitTable(join.ToSource.EntityName); toSourceAlias1 = aliases[join.ToSource.ToString()]; joinString += string.Format(" AND {0}.{2} = {1}.{3}", fromSourceAlias1, toSourceAlias1, sqlFormatter.DelimitField(joinField.FromField.FieldName), sqlFormatter.DelimitField(joinField.ToField.FieldName)); } } return(joinString); }
private string QuoteSource(Source source, ISqlFormatter withFormatter, IDictionary<string, string> aliases) { if (source == null) return string.Empty; var sourceName = aliases.ContainsKey(source.Name) ? aliases[source.Name] : source.Name; return withFormatter.DelimitTable(sourceName) + "."; }
private string GetTableJoinString(Source source, ISqlFormatter sqlFormatter, IDictionary<string, string> aliases) { string joinString = sqlFormatter.DelimitTable(EntityName); joinString += " " + aliases[this.ToString()]; joinString = GetInheritanceJoinString(sqlFormatter, source, joinString, aliases); return joinString; }
private string GetJoinString(ISqlFormatter sqlFormatter, Join join, IDictionary<string, string> aliases) { if (join.JoinFields.Count == 0) { string message = string.Format("SQL cannot be created for the source '{0}' because it has a join to '{1}' without join fields", Name, join.ToSource.Name); throw new HabaneroDeveloperException(message, "Please check how you are building your join clause structure."); } Join.JoinField joinField = join.JoinFields[0]; var toSourceNameWithAlias = sqlFormatter.DelimitTable(join.ToSource.EntityName); toSourceNameWithAlias += " " + aliases[join.ToSource.ToString()]; var fromSourceAlias = sqlFormatter.DelimitTable(join.FromSource.EntityName); fromSourceAlias = aliases[join.FromSource.ToString()]; var toSourceAlias = sqlFormatter.DelimitTable(join.ToSource.EntityName); toSourceAlias = aliases[join.ToSource.ToString()]; string joinString = string.Format("{0} {1} ON {2}.{3} = {4}.{5}", join.GetJoinClause(), toSourceNameWithAlias, fromSourceAlias, sqlFormatter.DelimitField(joinField.FromField.FieldName), toSourceAlias, sqlFormatter.DelimitField(joinField.ToField.FieldName)); if (join.JoinFields.Count > 1) { for (int i = 1; i < join.JoinFields.Count; i++) { joinField = join.JoinFields[i]; var fromSourceAlias1 = sqlFormatter.DelimitTable(join.FromSource.EntityName); fromSourceAlias1 = aliases[join.FromSource.ToString()]; var toSourceAlias1 = sqlFormatter.DelimitTable(join.ToSource.EntityName); toSourceAlias1 = aliases[join.ToSource.ToString()]; joinString += string.Format(" AND {0}.{2} = {1}.{3}", fromSourceAlias1, toSourceAlias1, sqlFormatter.DelimitField(joinField.FromField.FieldName), sqlFormatter.DelimitField(joinField.ToField.FieldName)); } } return joinString; }