Ajouter de nouvelles sources de données dans des applications ADO.NET (.NET Framework)

Remarque

Les jeux de données et les classes associées sont des technologies .NET Framework héritées qui datent du début des années 2000. Elles permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Elles sont particulièrement utiles aux applications qui permettent aux utilisateurs de modifier des données, et de rendre ces changements persistants dans la base de données. Même si les jeux de données sont une technologie très efficace, nous vous recommandons d’utiliser Entity Framework Core pour les nouvelles applications .NET. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet. De plus, il présente une interface de programmation plus simple.

Notes

Les fonctionnalités décrites dans cet article s’appliquent au développement pour Windows Forms et WPF dans le cadre du .NET Framework. Les fonctionnalités ne sont pas prises en charge pour le développement .NET Core, aussi bien pour WPF que Windows Forms.

Dans le contexte des outils de données .NET de Visual Studio, le terme source de données fait référence aux objets .NET qui se connectent à un magasin de données, et mettent celles-ci à la disposition d’une application .NET. Les concepteurs Visual Studio peuvent consommer la sortie de la source de données pour générer du code réutilisable qui lie les données aux formulaires quand vous effectuez un glisser-déposer d’objets de base de données à partir de la fenêtre Sources de données. Il peut s’agir du genre de source de données suivant :

  • Classe d’un modèle Entity Framework associée à un genre quelconque de base de données.

  • Jeu de données associé à un genre quelconque de base de données.

  • Classe qui représente un service réseau tel qu’un service de données WCF (Windows Communication Foundation) ou un service REST.

  • Classe qui représente un service SharePoint.

  • Classe ou collection dans votre solution.

Notes

Si vous n’utilisez pas de fonctionnalités de liaison de données, de jeux de données, Entity Framework, LINQ to SQL, WCF ou SharePoint, le concept de « source de données » ne s’applique pas. Connectez-vous simplement à la base de données à l’aide des objets SQLCommand, puis communiquez directement avec la base de données.

Vous créez et modifiez les sources de données à l’aide de l’Assistant Configuration de source de données dans une application Windows Forms ou Windows Presentation Foundation. Pour Entity Framework, créez d’abord vos classes d’entité, puis démarrez l’Assistant en sélectionnant Projet>Ajouter une nouvelle source de données (comme indiqué en détail plus loin dans cet article).

Assistant Configuration de source de données

Fenêtre Sources de données

Une fois que vous avez créé une source de données, elle s’affiche dans la fenêtre Outil Sources de données.

Conseil

Pour ouvrir la fenêtre Sources de données, vérifiez que votre projet est ouvert, puis appuyez sur Maj+Alt+D, ou choisissez Afficher>Autres fenêtres>Sources de données.

Dans un projet Windows Forms ciblant le .NET Framework (pas .NET Core, .NET 5 ou les versions ultérieures), vous pouvez faire glisser une source de données de la fenêtre Sources de données vers une aire de conception de formulaire ou un contrôle. Si vous faites glisser une table, vous obtenez un BindingNavigator et un DataGridView pour la table. Si vous faites glisser une colonne individuelle, vous obtenez un BindingNavigator ainsi qu’un Label et un TextBox pour cette colonne. Faites glisser les colonnes afin d’obtenir un formulaire complet d’affichage de données pour une table. Ces actions entraînent la génération d’un code réutilisable qui affiche les données du magasin de données.

L’illustration suivante montre un jeu de données déposé sur un formulaire Windows Forms. Si vous sélectionnez F5 dans l’application, les données de la base de données sous-jacente s’affichent dans les contrôles du formulaire.

Capture d’écran montrant l’opération de glissement de la source de données.

Capture d’écran montrant l’opération de glissement de la source de données.

Source de données d’une base de données ou d’un fichier de base de données

Vous pouvez créer un jeu de données ou un modèle Entity Framework à utiliser en tant que source de données pour une base de données ou un fichier de base de données.

Dataset

Pour créer un jeu de données en tant que source de données, exécutez l’Assistant Configuration de source de données en sélectionnant Projet>Ajouter une nouvelle source de données. Choisissez le type de source de données Base de données, puis suivez les invites pour spécifier une nouvelle connexion de base de données, une connexion de base de données déjà existante ou un fichier de base de données.

Classes Entity

Pour créer un modèle Entity Framework en tant que source de données :

  1. Exécutez l’Assistant Entity Data Model pour créer les classes d’entité. Sélectionnez Projet>Ajouter un nouvel élément>ADO.NET Entity Data Model.

    Nouvel élément de projet de modèle Entity Framework

  2. Choisissez la méthode selon laquelle vous souhaitez générer le modèle.

    Entity Data Model (assistant)

  3. Ajoutez le modèle en tant que source de données. Les classes générées apparaissent dans l’Assistant Configuration de source de données quand vous choisissez la catégorie Objets.

    Assistant Configuration de source de données avec des classes d’entité

Source de données d’un service

Pour créer une source de données à partir d’un service, exécutez l’Assistant Configuration de source de données, puis choisissez le type de source de données Service. Cette action est simplement un raccourci vers la boîte de dialogue Ajouter une référence de service, à laquelle vous pouvez également accéder en cliquant avec le bouton droit sur le projet dans l’Explorateur de solutions, puis en sélectionnant Ajouter une référence de service.

Quand vous créez une source de données à partir d’un service, Visual Studio ajoute une référence de service à votre projet. Visual Studio crée également des objets proxy qui correspondent aux objets retournés par le service. Par exemple, un service qui retourne un jeu de données est représenté dans votre projet en tant que jeu de données. Un service qui retourne un type spécifique est représenté dans votre projet en tant que type retourné.

Vous pouvez créer une source de données à partir des types de service suivants :

  • Services de données WCF

  • Services WCF

  • Services web

    Notes

    Les éléments qui s’affichent dans la fenêtre Sources de données dépendent des données que le service retourne. Certains services peuvent ne pas fournir suffisamment d’informations pour que l’Assistant Configuration de source de données puisse créer des objets pouvant être liés. Par exemple, si le service retourne un jeu de données non typé, aucun élément ne s’affiche dans la fenêtre Sources de données à la fin de l’exécution de l’Assistant. En effet, les jeux de données non typés ne fournissent pas de schéma. L’Assistant ne dispose donc pas de suffisamment d’informations pour créer la source de données.

Source de données d’un objet

Vous pouvez créer une source de données à partir de n’importe quel objet qui expose une ou plusieurs propriétés publiques en exécutant l’Assistant Configuration de source de données, puis en sélectionnant le type de source de données Objet. Toutes les propriétés publiques d’un objet sont affichées dans la fenêtre Sources de données. Si vous utilisez Entity Framework et si vous avez généré un modèle, vous trouverez ci-dessous les classes d’entité qui représentent les sources de données de votre application.

Dans la page Sélectionner les objets de données, développez les nœuds de l’arborescence pour localiser les objets auxquels vous souhaitez effectuer la liaison. L’arborescence contient des nœuds pour votre projet ainsi que pour les assemblys et autres projets référencés par votre projet.

Si vous souhaitez lier un objet dans un assembly ou un projet qui n’apparaît pas dans l’arborescence, cliquez sur Ajouter une référence, puis utilisez la boîte de dialogue Ajouter une référence pour ajouter une référence à assembly ou projet. Une fois que vous avez ajouté la référence, l’assembly ou le projet est ajouté à l’arborescence.

Remarque

Vous devrez peut-être générer le projet qui contient vos objets pour que les objets s'affichent dans l'arborescence.

Remarque

Pour permettre la prise en charge de la liaison de données par glisser-déposer, les objets qui implémentent l’interface ITypedList ou IListSource doivent avoir un constructeur par défaut. Sinon, Visual Studio ne peut pas instancier l’objet de source de données, et affiche une erreur quand vous faites glisser l’élément vers l’aire de conception.

Source de données d’une liste SharePoint

Vous pouvez créer une source de données à partir d’une liste SharePoint en exécutant l’Assistant Configuration de source de données, puis en sélectionnant le type de source de données SharePoint. SharePoint expose les données via WCF Data Services. La création d’une source de données SharePoint revient donc à créer une source de données à partir d’un service. La sélection de l'élément SharePoint dans l'Assistant Configuration de source de données entraîne l'ouverture de la boîte de dialogue Ajouter une référence de service, dans laquelle vous vous connectez au service de données SharePoint en pointant vers le serveur SharePoint. Cette action nécessite le kit SDK SharePoint.