Esempio n. 1
0
        private string GetReadString()
        {
            EntitySQLBuilder <TBase> sqlBuilder = new EntitySQLBuilder <TBase>(GetMapping());

            sqlBuilder.BuildSelectStatement();

            string sql = sqlBuilder.ToString();

            Logger.Info(MethodBase.GetCurrentMethod(), "Generated SQL: " + sql);

            return(sql);
        }
Esempio n. 2
0
        private string GetUpdateString()
        {
            EntitySQLBuilder <TBase> sqlBuilder = new EntitySQLBuilder <TBase>(GetMapping());

            sqlBuilder.AppendLine();
            sqlBuilder.BuildUpdateStatement();

            // For update statements return the number of rows affected
            sqlBuilder.SelectRowCount();

            string sql = sqlBuilder.ToString();

            Logger.Info(MethodBase.GetCurrentMethod(), "Generated SQL: " + sql);

            return(sql);
        }
        private void InsertFromStagingTable(EntityTable table)
        {
            EntitySQLBuilder <TBase> sql = new EntitySQLBuilder <TBase>(mapping);
            string primaryKeyColumnName  = table.GetPrimaryKeyColumn().Name;

            sql.BuildInsertFromStagingToMainWithOutputIds(table);

            using SqlCommand cmd = _connection.CreateCommand();

            cmd.CommandText = sql.ToString();
            cmd.CommandType = CommandType.Text;
            cmd.Transaction = _transaction;

            int totalPrimaryKeys = ReadPrimaryKeys(cmd, table, primaryKeyColumnName);

            Logger.Debug($"{(totalPrimaryKeys == 0 ? "No" : totalPrimaryKeys.ToString())} {table.Name} were inserted");
        }
        private void CreateStagingTable(EntityTable table)
        {
            EntitySQLBuilder <TBase> sql = new EntitySQLBuilder <TBase>(mapping);

            sql.CreateStagingTable(table);

            using SqlCommand cmd = _connection.CreateCommand();

            cmd.CommandText = sql.ToString();
            cmd.CommandType = CommandType.Text;
            cmd.Transaction = _transaction;

            Logger.Debug($"Creating staging table {table.StagingTable.Name}");
            Logger.Debug($"Executing SQL: {sql.ToString()}");

            cmd.ExecuteNonQuery();
        }
Esempio n. 5
0
        private string GetUpdateFullSql()
        {
            Type t = this.GetType();

            if (!_UpdateSqlCache.ContainsKey(t))
            {
                EntityMeta metadeta = EntityReflect.GetDefineInfoFromType(t);
                string     sql      = EntitySQLBuilder.EntityMetaToUpdateSQL(metadeta);
                lock (lockobject)
                {
                    if (!_UpdateSqlCache.ContainsKey(t))
                    {
                        _UpdateSqlCache.Add(t, sql);
                    }
                }
            }
            return(_UpdateSqlCache[t]);
        }
Esempio n. 6
0
        private string GetUpdateChangeColumnsSql()
        {
            EntityMeta metadeta = EntityReflect.GetDefineInfoFromType(this.GetType());

            return(EntitySQLBuilder.BuildUpdateSql(metadeta, this._PropertyChangedList));
        }