Fermer

novembre 2, 2023

Opérations CRUD, migrations EF Core — Telerik .NET MAUI — Partie 2

Opérations CRUD, migrations EF Core — Telerik .NET MAUI — Partie 2


Dans la partie 2, nous verrons comment remplir l’interface utilisateur Telerik pour .NET MAUI avec des migrations de données et EF CORE.

Dans le post précédent, nous avons démontré comment réaliser des opérations CRUD à l’aide de Telerik DataGrid et EF Core. Cependant, dans le monde réel, les exigences et le code changent, parfois de manière imprévue, et nous devons mettre à jour la base de données en conséquence. Cela peut ne pas être une tâche facile à moins que nous utilisions les migrations EF Core.

Et c’est de cela que parle cet article. Nous verrons comment utiliser les migrations EF Core dans une application .NET MAUI avec l’interface utilisateur Telerik incluse.

Que sont les migrations EF Core et en avons-nous besoin ?

Les migrations EF Core sont une fonctionnalité d’EF Core qui permet aux développeurs de modifier le schéma de base de données au fil du temps, à mesure que l’application change. Ou simplement : le code qui demande à EF Core de créer et d’utiliser la structure de la base de données.

Avec cela, lorsque nous modifions les modèles, il nous suffit de générer automatiquement des migrations supplémentaires pour EF Core afin de modifier la base de données existante en conséquence.

  • Avec les migrations, vous pouvez facilement appliquer ou annuler les modifications de la base de données à mesure que votre application évolue, sans perdre les données existantes.
  • Les migrations EF Core génèrent et exécutent automatiquement les scripts SQL nécessaires pour mettre à jour le schéma de base de données, vous n’avez donc pas à écrire de scripts manuels ni à vous soucier de la perte de données.

C’est donc à nous de décider si nous devons les utiliser. Si vous n’en avez pas besoin, vous pouvez vous arrêter ici. Mais si vous en avez réellement besoin, nous devons en faire davantage.

Créer des migrations principales EF

Pour créer des migrations EF Core, nous devrons également installer le package Microsoft.EntityFrameworkCore.Tools.

Le fait est que nous ne pouvons pas installer ces NuGets dans notre seul projet .NET MAUI car il présente certaines limitations. Cela conduirait à l’exception suivante lorsque nous essayons d’exécuter les migrations réelles :

Le projet de startup EFCoreTelerik cible la plateforme Android.  Les outils de console Entity Framework Core Package Manager ne prennent pas en charge cette plate-forme.

Mais ne vous inquiétez pas, voici ce qu’est la partie suivante : comment « contourner » ce problème.

Reconstruire le projet

La solution est simple : utilisez une application console de base comme cible pour exécuter les commandes de migration.

Cependant, comme nous souhaitons qu’une application .NET MAUI et l’application console aient accès au DataContext et aux modèles, nous allons également créer une bibliothèque de classes partagée et les y déplacer.

Notre projet aura donc désormais la structure suivante :

  • EFCoreTelerik – l’application .NET MAUI originale représentant le client
  • EFCoreTelerik.Console – le client factice utilisé pour exécuter les migrations (migrateur)
  • Shared – une bibliothèque partagée pour sauvegarder le contexte des données

Préparons les 2 nouveaux projets

Projet partagé

  1. Ajoutez les packages nécessaires :
    SQLitePCLRaw.bundle_e_sqlite3
    Microsoft.EntityFrameworkCore.Sqlite

  2. Déplacez-y DataContext et la classe de modèle ToDoItem.cs.

La structure de fichiers sous Partagé comporte des dépendances, des migrations, des modèles, DbDataContext.cs.  Sous Modèles se trouve TodoItem.cs

Note: Le dossier Migrations sera automatiquement créé après l’exécution des migrations.

EFTelerik.Console

Créez une application console vide avec trois NuGets :

  • SQLitePCLRaw.bundle_e_sqlite3
  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Tools

Maintenant, la migration réelle

Ici, les étapes varient selon l’outillage :

VS pour Windows

  • Remplacez votre projet de démarrage par le projet de console.
  • Ouvrez la console du gestionnaire de packages : accédez à Affichage -> Autres fenêtres -> Console du gestionnaire de packages.
  • Définissez le projet par défaut sur Partagé. EF recherchera le modèle de contexte à l’intérieur et y ajoutera des migrations.
  • Entrez la commande suivante pour créer la migration initiale :

VS pour Mac

  • Cliquez avec le bouton droit sur votre solution, puis sélectionnez « Ouvrir dans le terminal ».
  • Exécutez la commande :
dotnet ef migrations add Initial -s EFCoreTelerikClient -p Shared  -c EFCoreTelerik.Shared.DbDataContext

Plus à lire

Ce sont les principaux points à prendre en compte lors du démarrage de la configuration des opérations liées aux données sur une application .NET MAUI. Pour approfondir les sujets que nous avons abordés, vous pouvez vous référer aux articles ci-dessous :

L’article utilise Grille de données Telerik .NET MAUImais les étapes ci-dessus sont valables pour charger avec des données l’un des 60+ Interface utilisateur Telerik pour .NET MAUI Composants. D’autres exemples avec l’interface utilisateur Telerik peuvent être trouvés sur Exemples de contrôles Telerik,
exemples axés sur les développeurs et Documentation Telerik.

Si vous êtes curieux de savoir quoi d’autre vient télécharger le package et essayez-le maintenant. 👇

Essayez l’interface utilisateur Telerik pour .NET MAUI




Source link

novembre 2, 2023