コード例 #1
0
ファイル: SelectQueryDB.cs プロジェクト: SaberZA/habanero
/*
 *      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)));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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) + ".");
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 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) + ".";
 }
コード例 #6
0
ファイル: SourceDB.cs プロジェクト: kevinbosman/habanero
 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;
 }
コード例 #7
0
ファイル: SourceDB.cs プロジェクト: kevinbosman/habanero
        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;
        }