Ejemplo n.º 1
0
        public override string ToSql()
        {
            var sqlBuilder = new StringBuilder(Verb);

            if (EntityMapper.SqlGenerator.IncludeDbNameInQuery)
            {
                sqlBuilder.Append(string.Format("FROM {0}.{1}.{2} {3} ", DatabaseName, SchemaName, TableName, TableAlias));
            }
            else
            {
                sqlBuilder.Append(string.Format("FROM {0}.{1} {2} ", SchemaName, TableName, TableAlias));
            }

            foreach (var join in Joins)
            {
                sqlBuilder.Append(join.ToSql());
            }

            if (PredicateParts != null && PredicateParts.Any())
            {
                sqlBuilder.Append(string.Format("WHERE {0} ", PredicateParts.ToSql()));
            }
            else if (Predicate != null)
            {
                sqlBuilder.Append(string.Format("WHERE {0} ", Predicate.ToSql()));
            }

            return(sqlBuilder.ToString());
        }
        public override string ToSql()
        {
            var sqlBuilder      = new StringBuilder();
            var dbNameFormatted = string.Format("[{0}].", DatabaseName);
            var includeDbName   = EntityMapper.SqlGenerator.IncludeDbNameInQuery;

            sqlBuilder.AppendFormat("{0} {4} FROM {1}[{2}].[{3}] {4} ",
                                    Verb,
                                    includeDbName ? dbNameFormatted : "",
                                    SchemaName,
                                    TableName,
                                    TableAlias);

            foreach (var join in Joins)
            {
                sqlBuilder.Append(join.ToSql());
            }

            if (PredicateParts != null && PredicateParts.Any())
            {
                sqlBuilder.AppendFormat("WHERE {0}; ", PredicateParts.ToSql());
            }
            else if (Predicate != null)
            {
                sqlBuilder.AppendFormat("WHERE {0}; ", Predicate.ToSql());
            }

            sqlBuilder.Append("SELECT @@ROWCOUNT;");

            return(sqlBuilder.ToString());
        }
Ejemplo n.º 3
0
        public override string ToSql()
        {
            var sqlBuilder     = new StringBuilder();
            var selectFields   = new List <string>();
            var sqlJoinBuilder = new StringBuilder();

            selectFields = SqlServerHelper.BraketFieldNames(Fields.Select(f => f.ColumnName), TableAlias).ToList();

            foreach (var join in Joins)
            {
                var rightTableAlias = join.RightQuery.TableAlias;

                foreach (var field in join.RightQuery.Fields)
                {
                    selectFields.Add(string.Format("{0}.[{1}]", rightTableAlias, field.ColumnName));
                }

                sqlJoinBuilder.Append(join.ToSql());
            }

            if (TopRows > 0)
            {
                sqlBuilder.Append(string.Format("{0} {1} {2} {3} ", Verb, EntityMapper.SqlGenerator.Top, TopRows, string.Join(",", selectFields)));
            }
            else
            {
                sqlBuilder.Append(string.Format("{0} {1} ", Verb, string.Join(",", selectFields)));
            }

            if (EntityMapper.SqlGenerator.IncludeDbNameInQuery)
            {
                sqlBuilder.Append(string.Format("FROM [{0}].[{1}].[{2}] {3} ", DatabaseName, SchemaName, TableName, TableAlias));
            }
            else
            {
                sqlBuilder.Append(string.Format("FROM [{0}].[{1}] {2} ", SchemaName, TableName, TableAlias));
            }

            sqlBuilder.Append(sqlJoinBuilder.ToString());

            if (PredicateParts != null && PredicateParts.Any())
            {
                sqlBuilder.Append(string.Format("WHERE {0} ", PredicateParts.ToSql()));
            }
            else if (Predicate != null)
            {
                sqlBuilder.Append(string.Format("WHERE {0} ", Predicate.ToSql()));
            }

            if (OrderByFields != null)
            {
                sqlBuilder.Append(string.Format("ORDER BY {0}", string.Join(",", OrderByFields.Select(f => f.ToSql()))));
            }

            return(sqlBuilder.ToString());
        }
Ejemplo n.º 4
0
        public override string ToSql()
        {
            var sqlBuilder     = new StringBuilder();
            var selectFields   = new List <string>();
            var sqlJoinBuilder = new StringBuilder();

            selectFields.AddRange(Fields.Select(f => string.Format("{0}.{1}", TableAlias, f.ColumnName)));

            foreach (var join in Joins)
            {
                var rightTableAlias = join.RightQuery.TableAlias;

                foreach (var field in join.RightQuery.Fields)
                {
                    selectFields.Add(string.Format("{0}.{1}", rightTableAlias, field.ColumnName));
                }

                sqlJoinBuilder.Append(join.ToSql());
            }

            if (TopRows > 0)
            {
                sqlBuilder.Append(string.Format("{0} {1} {2} {3} ", Verb, EntityMapper.SqlGenerator.Top, TopRows, string.Join(",", selectFields)));
            }
            else
            {
                sqlBuilder.Append(string.Format("{0} {1} ", Verb, string.Join(",", selectFields)));
            }

            sqlBuilder.Append(string.Format("FROM {0} {1} ", TableName, TableAlias));
            sqlBuilder.Append(sqlJoinBuilder.ToString());

            if (PredicateParts != null && PredicateParts.Any())
            {
                sqlBuilder.Append(string.Format("WHERE {0} ", PredicateParts.ToSql()));
            }
            else if (Predicate != null)
            {
                sqlBuilder.Append(string.Format("WHERE {0} ", Predicate.ToSql()));
            }

            if (OrderByFields != null)
            {
                sqlBuilder.Append(string.Format("ORDER BY {0}", string.Join(",", OrderByFields.Select(f => f.ToSql()))));
            }

            return(sqlBuilder.ToString());
        }
        public override string ToSql()
        {
            if (Fields == null || !Fields.Any())
            {
                return(string.Empty);
            }

            var sqlJoinBuilder  = new StringBuilder();
            var sqlBuilder      = new StringBuilder();
            var predicateSql    = string.Empty;
            var includeDbName   = EntityMapper.SqlGenerator.IncludeDbNameInQuery;
            var dbNameFormatted = string.Format("[{0}].", DatabaseName);

            if (PredicateParts != null)
            {
                predicateSql = PredicateParts.ToSql();
            }
            else
            {
                predicateSql = Predicate == null ? "" : Predicate.ToSql();
            }

            foreach (var join in Joins)
            {
                sqlJoinBuilder.Append(join.ToSql());
            }

            sqlBuilder.AppendFormat("{0} [{1}] SET {2} FROM {3}[{4}].[{5}] [{1}] {6} WHERE {7}; ",
                                    Verb,
                                    TableAlias,
                                    SetClause.ToSql(),
                                    includeDbName ? dbNameFormatted : "",
                                    SchemaName,
                                    TableName,
                                    sqlJoinBuilder.ToString(),
                                    predicateSql);

            sqlBuilder.Append("SELECT @@ROWCOUNT;");

            return(sqlBuilder.ToString());
        }
Ejemplo n.º 6
0
        public override string ToSql()
        {
            if (Fields == null || !Fields.Any())
            {
                return(string.Empty);
            }

            var sqlBuilder   = new StringBuilder();
            var predicateSql = string.Empty;

            if (PredicateParts != null)
            {
                predicateSql = PredicateParts.ToSql();
            }
            else
            {
                predicateSql = Predicate == null ? "" : Predicate.ToSql();
            }

            if (Predicate == null && PredicateParts == null)
            {
                sqlBuilder.AppendFormat("{0} {1}.{2} SET {3} ",
                                        Verb,
                                        SchemaName,
                                        TableName,
                                        SetClause.ToSql());
            }
            else
            {
                sqlBuilder.AppendFormat("{0} {1}.{2} SET {3} WHERE {4} ",
                                        Verb,
                                        SchemaName,
                                        TableName,
                                        SetClause.ToSql(),
                                        predicateSql);
            }

            return(sqlBuilder.ToString());
        }