1
resposta

[Sugestão] Utilizando UpdateData

public partial class InserindoDadosNoArtistaID : Migration
{
    /// <inheritdoc />
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.UpdateData("Musicas", "Id", 1, "ArtistaId", 1);
        migrationBuilder.UpdateData("Musicas", "Id", 2, "ArtistaId", 1);
        migrationBuilder.UpdateData("Musicas", "Id", 3, "ArtistaId", 1);
        migrationBuilder.UpdateData("Musicas", "Id", 4, "ArtistaId", 1);
    }

    /// <inheritdoc />
    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.UpdateData("Musicas", "Id", 1, "ArtistaId", null);
        migrationBuilder.UpdateData("Musicas", "Id", 2, "ArtistaId", null);
        migrationBuilder.UpdateData("Musicas", "Id", 3, "ArtistaId", null);
        migrationBuilder.UpdateData("Musicas", "Id", 4, "ArtistaId", null);
    }
}
1 resposta

Oi, Robson! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Muito interessante sua sugestão utilizando UpdateData na migration. Você organizou bem tanto o método Up quanto o Down, garantindo que os dados sejam atualizados e também revertidos corretamente, mantendo a consistência do banco. Isso mostra atenção ao ciclo completo da migration e ao controle de dados durante alterações estruturais.

Uma dica interessante para o futuro é utilizar a sobrecarga do UpdateData que permite atualizar múltiplas colunas de uma vez, deixando o código mais escalável. Veja este exemplo:


migrationBuilder.UpdateData(
    table: "Musicas",
    keyColumn: "Id",
    keyValue: 1,
    columns: new[] { "ArtistaId", "Titulo" },
    values: new object[] { 1, "NovaMusica" }
);

No exemplo acima, o método atualiza mais de uma coluna ao mesmo tempo para o mesmo registro, o que pode facilitar quando houver mais campos relacionados.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!