« .NET 7 s'appuie sur la base établie par .NET 6, qui comprend un ensemble unifié de bibliothèques de base, de runtime et de SDK, une expérience de développement simplifiée et une productivité accrue des développeurs. Les principaux domaines d'intérêt de .NEp mise à niveau des projets existants et la simplification de l'expérience du développeur en facilitant le travail avec les conteneurs », a écrit Jeremy Likness de l'équipe .NET à propos de cette version. En gros, .NET 7 vise à faciliter le développement d'applications cloud natives et la conteneurisation.
Voici, ci-dessous, les nouvelles fonctionnalités qu’apporte la Preview 4 de .NET 7
La conception pilotée par le domaine
L'un des modèles de la conception pilotée par le domaine (DDD) est le concept d'utilisation d'objets de valeur comme clés. En d'autres termes, au lieu de déclarer une clé comme ceci :
Code : | Sélectionner tout |
1 2 3 4 | public class Thing { public int Id { get; set; } } |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | public class Thing { public ThingKey Id { get; set; } } public class ThingKey { public ThingKey(Func<int> generator) => Id = generator(); public ThingKey(int id) => Id = id; public int Id { get; private set; } } |
Il y a plusieurs avantages à faire cela. Le premier, et peut-être le plus évident, est de cacher les détails de l'implémentation de la clé. Si l’utilisateur préfère utiliser la ressource illimitée des GUIDs plutôt que l'ensemble séquentiel plus limité et ennuyeux des entiers disponibles, le refactoring sera beaucoup plus facile grâce au tampon que la classe key fournit. Il est également possible de protéger la clé contre les mauvaises données grâce à des validations, afin d'éviter que quelqu'un n'attribue accidentellement une valeur négative.
Avant la Preview 4, le choix était limité dans EF Core. La façon la plus évidente de traduire une entité en un scalaire est d'utiliser un convertisseur, mais EF Core levait une exception si l’utilisateur essayait d'assigner un convertisseur à une propriété marquée pour la génération de valeur. Cette contrainte a été levée et, plus important encore, le code a été mis à jour pour s'assurer que ce cas est traité correctement.
Installation de l'interface de ligne de commande EF7 (CLI)
Avant de pouvoir exécuter les commandes de migration ou d'échafaudage du noyau EF7, il est nécessaire d’installer le paquet CLI en tant qu'outil global ou local. Pour installer l'outil de prévisualisation de manière globale :
Code : | Sélectionner tout |
dotnet tool install --global dotnet-ef --version 7.0.0-preview.4.22229.2
Si l'outil est déjà installé, il est possible de le mettre à jour avec la commande suivante :
Code : | Sélectionner tout |
dotnet tool update --global dotnet-ef --version 7.0.0-preview.4.22229.2
Il est possible d'utiliser cette nouvelle version du CLI EF7 avec des projets qui utilisent des versions plus anciennes du runtime EF Core.
Constructions quotidiennes
Les previews d'EF7 sont alignées sur les Previews de .NET 7. Ces Previews ont tendance à être en retard par rapport aux derniers travaux sur EF7. Il est recommandé d’utiliser les daily builds pour bénéficier des dernières fonctionnalités et corrections de bugs de EF7.
EF7 est distribué exclusivement sous la forme d'un ensemble de paquets NuGet. Par exemple, pour ajouter le fournisseur SQL Server à un projet, il est possible d’utiliser la commande suivante avec l'outil dotnet :
Code : | Sélectionner tout |
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 7.0.0-preview.4.22229.2
Source : Microsoft
Et vous ?
Que pensez-vous des changements et des nouveautés introduits par la Preview 4 de .NET 7 ?
Voir aussi :
Microsoft publie le premier aperçu de .NET 7 avec des optimisations continues du compilateur JIT, de nouvelles API et la prise en charge de plus de scénarios de rechargement à chaud
Microsoft annonce .NET 6 Preview 5, la version du framework pour la création des applications, apporte une amélioration des charges de travail
Visual Studio 2022 64-bit Preview 2 est disponible, elle apporte de nouvelles fonctionnalités et permet de créer des applications multiplateformes
.NET MAUI Release Candidate est Prêt pour le développement d'applications multiplateformes, elle s'appuie sur les SDK de plateforme pour Android, iOS, macOS et Windows