Entity Framework - Approche Code First

L'Entity Framework propose trois approches pour créer un modèle d'entité et chacune a ses propres avantages et inconvénients.

  • Code d'abord
  • La base de données d'abord
  • Modèle d'abord

Dans ce chapitre, nous décrirons brièvement la première approche du code. Certains développeurs préfèrent travailler avec le Designer dans Code tandis que d'autres préfèrent simplement travailler avec leur code. Pour ces développeurs, Entity Framework dispose d'un workflow de modélisation appelé Code First.

  • Le workflow de modélisation Code First cible une base de données qui n'existe pas et Code First la créera.

  • Il peut également être utilisé si vous avez une base de données vide et que Code First ajoutera également de nouvelles tables.

  • Code First vous permet de définir votre modèle à l'aide des classes C # ou VB.Net.

  • Une configuration supplémentaire peut éventuellement être effectuée à l'aide d'attributs sur vos classes et propriétés ou à l'aide d'une API fluide.

Pourquoi Code First?

  • Code First est en fait constitué d'un ensemble de pièces de puzzle. Premièrement, vos classes de domaine.

  • Les classes de domaine n'ont rien à voir avec Entity Framework. Ce ne sont que les éléments de votre domaine professionnel.

  • Entity Framework a donc un contexte qui gère l'interaction entre ces classes et votre base de données.

  • Le contexte n'est pas spécifique à Code First. C'est une fonctionnalité Entity Framework.

  • Code First ajoute un générateur de modèle qui inspecte vos classes gérées par le contexte, puis utilise un ensemble de règles ou de conventions pour déterminer comment ces classes et les relations décrivent un modèle et comment ce modèle doit être mappé à votre base de données.

  • Tout cela se produit au moment de l'exécution. Vous ne verrez jamais ce modèle, c'est juste en mémoire.

  • Code First a la possibilité d'utiliser ce modèle pour créer une base de données si nécessaire.

  • Il peut également mettre à jour la base de données si le modèle change, à l'aide d'une fonctionnalité appelée Migrations Code First.