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.