示例#1
0
    public static void Update <T>(this ISqlConnectionProvider sqlConnectionProvider,
                                  T objectToUpdate,
                                  Expression <Func <T, object> > keyProperties = null,
                                  string tableName        = null,
                                  string schemaName       = null,
                                  bool processColumnNames = true)
    {
        tableName = SqlTextFunctions.GetTableName(objectToUpdate.GetType(), tableName, schemaName);

        using (var myConnection = sqlConnectionProvider.ToSqlConnection())
        {
            using (var myCommand = new SqlCommand {
                Connection = myConnection
            })
            {
                var setClauseProperties   = SqlClrHelpers.GetRelevantPropertyInfos(objectToUpdate, null);
                var whereClauseProperties = SqlClrHelpers.GetPropertiesFromObject(objectToUpdate, keyProperties);
                SqlTextFunctions.UnUnderscoreColumnNames = processColumnNames;
                BuildOutUpdateCommand(objectToUpdate,
                                      tableName,
                                      setClauseProperties,
                                      whereClauseProperties,
                                      myCommand,
                                      processColumnNames);
                SqlTextFunctions.UnUnderscoreColumnNames = true;
                myConnection.Open();
                SqlLogger.LogSqlCommand(myCommand);
                myCommand.ExecuteNonQuery();
                myConnection.Close();
            }
        }
    }
示例#2
0
    private static SqlDataReader GetDataReaderFromQuery(ISqlConnectionProvider sqlConnectionProvider, string sqlQuery)
    {
        var connection = sqlConnectionProvider.ToSqlConnection();

        connection.Open();
        var query = new SqlCommand(sqlQuery, connection);

        return(query.ExecuteReader());
    }
    public static void ExecuteNonDapper(this ISqlConnectionProvider connectionProvider, string sqlCommand)
    {
        var connection = connectionProvider.ToSqlConnection();

        connection.Open();
        var command = new SqlCommand(sqlCommand, connection);

        command.ExecuteNonQuery();
        connection.Dispose();
    }
    public static T ExecuteScalar <T>(this ISqlConnectionProvider connectionProvider, string sqlCommand)
    {
        var connection = connectionProvider.ToSqlConnection();

        connection.Open();
        var command = new SqlCommand(sqlCommand, connection);
        var result  = ConvertFromDBVal <T>(command.ExecuteScalar());

        connection.Dispose();
        return(result);
    }
    public static void Delete <T>(this ISqlConnectionProvider sqlConnectionProvider, T objToDelete,
                                  Expression <Func <T, object> > keyProperties = null, string tableName = null, string schemaName = null, bool processColumnNames = true)
    {
        tableName = SqlTextFunctions.GetTableName(objToDelete.GetType(), tableName, schemaName);

        using (var myConnection = sqlConnectionProvider.ToSqlConnection())
        {
            using (var myCommand = new SqlCommand()
            {
                Connection = myConnection
            })
            {
                SqlTextFunctions.UnUnderscoreColumnNames = processColumnNames;
                BuildOutMyCommand(objToDelete, keyProperties, tableName, myCommand);
                SqlTextFunctions.UnUnderscoreColumnNames = true;

                myConnection.Open();
                SqlLogger.LogSqlStatement(myCommand.CommandText);
                myCommand.ExecuteNonQuery();
                myConnection.Close();
            }
        }
    }