ASP.NET Web API + Entity Framework (Database First) + DTOs
GET /api/LivresGET /api/Livres/{id}POST / PUT / DELETE
GET /api/AuteursGET /api/Auteurs/{id}POST / PUT / DELETE
- Modèle généré depuis la base (
biblioEntities) - Navigation entre
LivresetAuteurssupprimée - Jointures faites manuellement en LINQ (pas de propriétés de navigation)
DtoLivre.cs: structure publique des livresDtoAuteur.cs: structure publique des auteurs- Avantages :
- JSON propre, stable
- Pas de cycles de sérialisation
- Couche d’abstraction entre EF et l’API
- Création du projet Web API (.NET Framework)
- Import du modèle
.edmxdepuis la base de données - Suppression manuelle des propriétés de navigation indésirables
- Création des classes
DtoLivreetDtoAuteur - Mise en place des contrôleurs :
- Projection LINQ des entités EF vers les DTOs
- Méthodes
POST,PUT,DELETEdésactivées temporairement (405)
- Vérification via Swagger (WebApiConfig + NuGet
Swashbuckle)
// Projection manuelle d’un livre avec son auteur (jointure explicite)
from l in db.Livres
join a in db.Auteurs on l.id_auteur equals a.id
select new DtoLivre {
Id = l.id,
Titre = l.titre,
AuteurNom = a.nom,
...
}