</>
Plan du cours — 24/46

CRUD de base

Intermédiaire
// Create
var u = new Utilisateur { Nom = "Alice", Email = "alice@example.com" };
db.Utilisateurs.Add(u);
await db.SaveChangesAsync();

// Read
var tous = await db.Utilisateurs.ToListAsync();
var un = await db.Utilisateurs.FindAsync(1);
var filtre = await db.Utilisateurs
    .Where(u => u.Email.EndsWith("@example.com"))
    .ToListAsync();

// Update
var aModifier = await db.Utilisateurs.FindAsync(1);
if (aModifier is not null)
{
    aModifier.Nom = "Alice Dupont";
    await db.SaveChangesAsync();  // EF Core suit les changements automatiquement
}

// Delete
var aSupprimer = await db.Utilisateurs.FindAsync(1);
if (aSupprimer is not null)
{
    db.Utilisateurs.Remove(aSupprimer);
    await db.SaveChangesAsync();
}

Astuce : toujours utiliser les méthodes asynchrones (ToListAsync, SaveChangesAsync...) dans une API web — elles libèrent le thread pendant l'attente I/O, ce qui améliore fortement le débit sous charge.