<style>
.reveal {
font-size: 27px;
}
mark {
background-color: rgba(50, 168, 82, .5) !important;
}
</style>
# I-CH 151
Intégrer des bases de données dans des applications Web
5. ORM EF Core
© Selmir Hajruli & EPSIC 2021
---
# Mise à jour
- Installer .NET 5 SDK
- https://dotnet.microsoft.com/download/visual-studio-sdks
- Mettre à jour `dotnet ef`
- `dotnet tool update --global dotnet-ef --version 5.*`
:::info
- git commit -am "finished ex7"
- git fetch
- git checkout ex8
:::
---
# Exercice 8 : Relations
1. Créer une classe `Team` avec un `int Id` et un `string Name`
1. Adapter notre projet pour tenir compte de cette relation
- Depuis un `Character` on doit pouvoir remonter la `Team`
- Depuis une `Team` on doit pouvoir retrouver la liste des tous les `Characters` qui la composent
1. Adapter notre base de données pour pouvoir stocker cette `Team` (cf. migrations) et faire le lien entre les teams et les personnages.
1. Créer un `TeamsController` (comme le `CharacterController`) qui permettra d'ajouter-lire-supprimer-modifier des teams
1. Dans le `TeamsController` ajouter deux méthodes qui permettront d'ajouter et supprimer des membres dans une team en prennant en paramètre l'ID de la team et l'ID du character.
>* [Relationship in EF Core](https://www.learnentityframeworkcore5.com/relationship-in-ef-core)
>* [Migrations in EF Core](https://www.learnentityframeworkcore5.com/migrations-in-ef-core)
---
# Exercice 9 : Avatar
- Dans la classe `Character` ajouter une propriété `Avatar` de type `byte[]` qui va servir à stocker et référencer l'avatar du personnage.
- Adapter notre base de données pour pouvoir stocker cette image (cf. migrations)
- Adapter notre API `CharacterController` pour qu'elle retourne les avatars de personneages.
{"metaMigratedAt":"2023-06-15T16:54:21.427Z","metaMigratedFrom":"YAML","title":"I-CH 151 - 5.1. ORM EF Core","breaks":true,"slideOptions":"{\"theme\":\"moonl\",\"spotlight\":{\"enabled\":false}}","contributors":"[{\"id\":\"2ff8bf3a-d09c-4308-a7a7-64e5fb1c4783\",\"add\":2086,\"del\":164}]"}