A diferença entre ExecuteSqlRaw é clara, mas ExecuteSqlInterpolated e ExecuteSql parecem semelhantes, também nos documentos.
Ambos têm os mesmos parâmetros e saída:
public static int ExecuteSqlInterpolated (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql); public static int ExecuteSql (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
Ambos têm a mesma descrição: "Executa o SQL fornecido no banco de dados e retorna o número de linhas afetadas."
Nenhum deles está marcado como obsoleto
A única diferença nos documentos:
Portanto, ExecuteSql é introduzido no EF Core 7.
Então, são iguais e devo usar ExecuteSql em vez de ExecuteSqlInterpolated para EF Core 7/8, pois este é mais recente?