Unité de travail avec mise en œuvre du référentiel générique à l'aide de l'API Web .NET Core 6

Dec 03 2022
Nous allons discuter du modèle de conception d'unité de travail à l'aide d'un référentiel générique et d'une implémentation étape par étape à l'aide de l'API Web .NET Core 6.

Nous allons discuter du modèle de conception d'unité de travail à l'aide d'un référentiel générique et d'une implémentation étape par étape à l'aide de l'API Web .NET Core 6.

Ordre du jour

  • Modèle de référentiel
  • Unité de travail
  • Mise en œuvre étape par étape
  • Visual Studio 2022
  • serveur SQL
  • SDK .NET Core 6
  • Le modèle de référentiel est utilisé pour créer une couche d'abstraction entre la couche d'accès aux données et la couche métier d'une application
  • Ce modèle aide à réduire la duplication de code et suit le principe DRY.
  • Cela aide également à créer un couplage lâche entre plusieurs composants, lorsque nous voulons changer quelque chose à l'intérieur de la couche d'accès aux données, ce temps n'a pas besoin de changer une autre couche où nous consommons cette fonctionnalité.
  • La séparation des préoccupations facilite la maintenance du code.
  • La mise en œuvre de modèles de référentiel nous aide à écrire des cas de test unitaires de manière efficace et simple.
  • Le modèle de référentiel nous aide à créer une abstraction, à découpler le code et à éviter le code redondant.
  • Mais parfois, cela peut partiellement mettre à jour les données, car lorsque l'application est énorme et que les référentiels partagent le même contexte de base de données dans toute l'application et effectuent des opérations telles que l'insertion, la mise à jour et la lecture. Ainsi, dans ce cas, certaines transactions risquent d'échouer et peu d'entre elles sont exécutées avec succès en raison de problèmes de concurrence. Donc, pour cette raison, nous utilisons une unité de travail pour maintenir l'intégrité des données à l'intérieur de l'application.
  • En outre, l'unité de travail gère une base de données en mémoire lorsque nous effectuons des opérations CRUD sur certaines classes d'entités en une seule transaction et si certaines opérations de base de données échouent, toutes les opérations seront annulées.
  • Cela permet également de créer des couches faiblement couplées à l'aide de l'injection de dépendances et de suivre les principes de développement piloté par les tests (TDD).

Étape 1

Créer une nouvelle API Web .NET Core

Étape 2

Configurez votre application

Étape 3

Fournir quelques détails supplémentaires

Structure du projet

Étape 4

Créer trois projets de bibliothèque de classes dans la solution principale

Étape 5

Ensuite, ajoutez une classe de modèle dans le projet UnitOfWorkDemo.Core et ajoutez également quelques interfaces.

ProductDetails.cs

IGenericRepository.cs

IProductRepository.cs

IUnitOfWork.cs

Étape 6

Maintenant, nous allons ajouter une implémentation de tous les référentiels que nous avons créés précédemment et également créer une DbContextClass à l'intérieur.

Dossier de projet

GenericRepository.cs

ProductRepository.cs

UnitOfWork.cs

DbContextClass.csDbContextClass.cs

Après cela, créez une classe d'extension pour laquelle nous avons l'habitude d'enregistrer les services DI et configurez-la dans le fichier Program.cs du projet racine.

ServiceExtension.cs

Ensuite, ajoutez la migration et mettez à jour la base de données dans le projet d'infrastructure à l'aide de la commande suivante

add-migration “v1”
update-database

Ensuite, créez un service produit dans le projet Services que nous injectons et consommons dans le contrôleur principal

IProductService.cs

ProductService.cs

Étape 6

Maintenant, nous créons un contrôleur de produits dans le projet principal et ajoutons plusieurs points de terminaison.

ProduitsController.cs

Ajoutez également une chaîne de connexion à la base de données dans le fichier appsetting.json

Après cela, enregistrez certains services dans la classe Program

Enfin, lancez le projet

URL GitHub

https://github.com/Jaydeep-007/UnitOfWorkDemo

Conclusion

Ici, nous avons discuté des modèles de référentiel et des unités de travail. également, les avantages et la mise en œuvre étape par étape à l'aide de l'API Web .NET Core.

Bon codage !