Come passare i parametri al metodo DbContext.Database.ExecuteSqlCommand?

Supponiamo di avere un’esigenza valida per l’esecuzione diretta di un comando sql in Entity Framework. Non riesco a capire come utilizzare i parametri nella mia istruzione sql. L’esempio seguente (non il mio esempio reale) non funziona.

var firstName = "John"; var id = 12; var sql = @"Update [User] SET FirstName = @FirstName WHERE Id = @Id"; ctx.Database.ExecuteSqlCommand(sql, firstName, id); 

Il metodo ExecuteSqlCommand non consente di passare i parametri denominati come in ADO.Net e la documentazione per questo metodo non fornisce alcun esempio su come eseguire una query con parametri.

Come posso specificare i parametri correttamente?