private string CreateQuery(ParameterFactory parameterFactory)
        {
            var tableName      = tableInformation.GetSchemaAndTableName();
            var whereQueryPart = WhereGenerator.CreateQuery(parameterFactory, whereStatement);

            return
                ("DELETE FROM " + tableName
                 + whereQueryPart + ";");
        }
예제 #2
0
        private string CreateQuery(ParameterFactory parameterFactory)
        {
            var tableName      = tableInformation.GetSchemaAndTableName();
            var whereQueryPart = WhereGenerator.CreateQuery(parameterFactory, whereStatement);
            var query          = "UPDATE " + tableName + " SET ";

            query += GenerateSetExpressions(parameterFactory);
            query += whereQueryPart;
            return(query);
        }
        private string CreateQuery(ParameterFactory parameterFactory)
        {
            var tableName = tableInformation.GetSchemaAndTableName();
            var topPart   = TopOrNull == null
                                ? string.Empty
                                : "TOP " + TopOrNull.Value + " ";
            var columns          = tableInformation.GetColumnNames(excludeIgnoredFields: true, fieldsToInclude: FieldsToInclude);
            var whereQueryPart   = WhereGenerator.CreateQuery(parameterFactory, whereStatement);
            var orderByQueryPart = OrderByGenerator.CreateQuery(orderByStatements);

            return
                ("SELECT " + topPart + string.Join(", ", columns)
                 + " FROM " + tableName
                 + whereQueryPart
                 + orderByQueryPart + ";");
        }
예제 #4
0
        public SqlQuery ToQuery(IEnumerable <TableType> rows)
        {
            var parameterFactory = new ParameterFactory();
            var query            = "";

            var rowList = rows.ToList();

            foreach (var row in rowList)
            {
                var tableName      = tableInformation.GetSchemaAndTableName();
                var columns        = tableInformation.GetColumnNames(excludeIdentityColumns: true, excludeComputedFields: true, excludeIgnoredFields: true);
                var values         = tableInformation.GetColumnValues(row, excludeIdentityColumns: true, excludeComputedFields: true, excludeIgnoredFields: true);
                var identityColumn = tableInformation.GetIdentityColumn();
                query += "INSERT INTO " + tableName + " (" + string.Join(", ", columns) + ") SELECT " + string.Join(", ", values.Select(parameterFactory.Create)) + "; ";
                if (identityColumn != null && rowList.Count == 1)
                {
                    query += "SELECT SCOPE_IDENTITY();";
                }
            }

            return(new SqlQuery(query, parameterFactory.GetParameters()));
        }