Nouveautés dans ADO.NET
Les fonctions suivantes sont nouvelles dans ADO.NET version 2.0.
Fournisseurs managés
Énumération du serveur
-
Assure la prise en charge de l'énumération des instances actives de Microsoft SQL Server versions 2000 et ultérieures. Pour plus d'informations, voir Énumération d'instances de SQL Server.
Traitement asynchrone
-
Vous permet d'effectuer des opérations de base de données asynchrones à l'aide d'une API modélisée d'après le modèle asynchrone utilisé par .NET Framework. Pour plus d'informations, voir Exécution d'opérations asynchrones.
Ensembles de résultats actifs multiples (MARS)
-
Permet à une application d'avoir plusieurs SqlDataReader ouverts sur une connexion au démarrage de chaque instance de SqlDataReader à partir d'une commande séparée. Pour plus d'informations, voir Utilisation des ensembles de résultats actifs multiples (MARS).
Opérations de copie en bloc
-
Vous permet d'effectuer des insertions de copie en bloc rapides à l'aide du fournisseur de données .NET pour SQL Server. Pour plus d'informations, voir Exécution d'opérations de copie en bloc.
Nouveaux types de données max SQL Server
-
Assure la prise en charge des types de données varchar(max), nvarchar(max), varbinary(max) dans SQL Server 2005. Pour plus d'informations, voir Utilisation des types de valeur volumineux
Types définis par l'utilisateur SQL Server
-
Assure la prise en charge de types de données définis par l'utilisateur (UDT) dans SQL Server 2005. Pour plus d'informations, voir Création et utilisation de types définis par l'utilisateur.
Notifications SQL Server
-
Permet aux applications .NET Framework d'envoyer une commande à SQL Server et de demander la génération d'une notification si l'exécution de cette commande produit des ensembles de résultats différents de ceux extraits initialement. Pour plus d'informations, voir Utilisation des notifications de requête.
Transactions avec isolation d'instantané SQL Server
-
Assure la prise en charge de l'isolation d'instantané, mécanisme SQL Server 2005 conçu pour réduire le blocage dans des applications OLTP. Pour plus d'informations, voir Utilisation de l'isolation d'instantané.
Mise en miroir des bases de données dans SQL Server 2005
-
Assure la prise en charge de la mise en miroir des bases de données dans SQL Server 2005 avec une nouvelle syntaxe de chaîne de connexion pour spécifier un serveur partenaire de basculement. Pour plus d'informations, voir Utilisation de la mise en miroir des bases de données.
Statistiques du fournisseur
-
Assure la prise en charge de l'extraction de statistiques d'exécution dans SQL Server 2005. Actuellement, 21 compteurs différents sont disponibles dans le fournisseur .NET pour SQL Server. Pour plus d'informations, voir Utilisation des statistiques du fournisseur.
Modification de mot de passe dans SQL Server 2005
-
Permet aux applications .NET Framework de modifier le mot de passe d'un compte utilisateur sans intervention de l'administrateur. Pour plus d'informations, voir ChangePassword.
Traitement par lot
-
Améliore les performances de l'application en réduisant le nombre d'allers-retours vers la base de données lors de l'application de mises à jour à partir du DataSet. Pour plus d'informations, voir Exécution de traitements par lots à l'aide de DataAdapters.
Traçage
-
ADO.NET 2.0 introduit une nouvelle fonctionnalité de traçage de données intégrée prise en charge par les fournisseurs de données .NET. Pour plus d'informations, voir Traçage managé dans .NET Framework.
Confiance partielle
-
Tous les fournisseurs de données Microsoft sont désormais pris en charge dans des environnements bénéficiant d'un niveau de confiance partiel. Pour plus d'informations, voir Sécurité d'accès du code et ADO.NET.
Contrôle de regroupement de connexions
-
ADO.NET 2.0 introduit deux nouvelles méthodes pour effacer le pool de connexions : ClearAllPools et ClearPool. Pour plus d'informations, voir Utilisation du regroupement de connexions.
Prise en charge de type de données SQL Server XML
-
SQL Server 2005 dispose d'un nouveau type de données XML et System.Data.SqlClient offre une prise en charge robuste pour celui-ci sur le client. Les valeurs XML sont exposées à l'aide de la structure System.Xml pour une intégration parfaite avec le modèle de programmation .NET.
Intégration avec System.Transactions et optimisation de transactions pouvant être promues pour SQL Server 2005
-
.NET 2.0 inclut une nouvelle structure de transactions, accessible via l'espace de noms System.Transactions. En cas de combinaison de System.Transactions pour la gestion des transactions distribuées, de System.Data.SqlClient pour l'accès à la base de données et SQL Server 2005 comme serveur principal, il est possible d'optimiser des transactions distribuées de façon à ce que le coût supplémentaire lié au fait de les rendre « distribuées » ne soit exposé que si les transactions sont réellement nécessaires.
Classes déconnectées
Améliorations de DataSet
-
Le nouveau DataTableReader présente le contenu d'un DataSet ou d'un DataTable sous la forme d'un ou plusieurs ensembles de résultats en lecture seule et en avant uniquement. Pour plus d'informations, voir Création et utilisation d'un DataTableReader.
Améliorations de DataSet
-
Un nouveau moteur d'index améliore les performances des opérations d'insertion, de suppression ou de modification sur des objets DataTable et DataRow. Un index ou une clé primaire doit être défini dans la table de base.
Sérialisation binaire pour le DataSet
-
Cette nouvelle option permet de sérialiser un DataSet et un DataTable dans un format binaire lors de l'utilisation de transports binaires à distance. Dans la plupart des cas, cela entraîne une amélioration importante des performances et une réduction sensible de l'usage de la mémoire et de l'UC en cas d'utilisation d'objets DataSet/DataTable dans des applications qui se connectent à distance à des couches différentes.
DataTable en tant qu'objet autonome
-
De nombreuses méthodes qui n'étaient disponibles dans le DataSet que dans les versions précédentes sont désormais également disponibles dans le DataTable (telles que ReadXml et WriteXml). De même, un DataTable peut être sérialisé par lui-même, de sorte qu'il n'est plus nécessaire d'avoir un DataSet avec une seule table uniquement pour exposer la table via des services Web ou tout autre mécanisme nécessitant une sérialisation.
Création d'un DataTable à partir d'un DataView
-
Vous pouvez à présent créer un DataTable à partir d'un DataView. Le nouveau DataTable aura le même ensemble de lignes que le DataView actuel. À titre facultatif, les colonnes du nouveau DataTable peuvent être un sous-ensemble des colonnes DataView. Les lignes peuvent être soit toutes les lignes, soit uniquement des lignes distinctes. Pour plus d'informations, voir ToTable.
Améliorations du moteur d'inférence du schéma
-
Le moteur d'inférence du schéma a été amélioré pour inférer des types lorsque suffisamment d'informations sont disponibles ; il est également sensiblement plus rapide.
Espace de noms-Tables qualifiées
-
Un DataSet peut à présent prendre en charge des tables ayant le même TableName mais un Namespace différent, fournissant un mécanisme pour éviter les conflits de dénomination.
Nouvelles capacités de chargement de DataTable
-
La nouvelle méthode Load pour DataTables et DataSets peut envoyer un flux DataReader directement dans DataTable. La méthode Load offre également de nouvelles options pour le comportement de chargement, qui étendent les fonctionnalités disponibles dans le DataAdapter.
Contrôle d'état de ligne
-
Les nouvelles méthodes SetAdded et SetModified permettent aux applications de manipuler explicitement l'état de ligne pour les lignes DataSet et DataTable.
Prise en charge étendue des types définis par l'utilisateur
-
Le DataTable assure une meilleure prise en charge des types personnalisés, définis par l'utilisateur. Il est possible d'étendre la sérialisation XML pour prendre en charge le polymorphisme. Par exemple, une colonne Personne peut stocker une instance Employé qui est sérialisée et dé-sérialisée en et à partir de XML sans perte de fidélité des types. En outre, les utilisateurs peuvent désormais implémenter les nouvelles interfaces de suivi des modifications qui permettent au DataTable de suivre les modifications de tels objets.
Améliorations XML/XSD
-
Prise en charge ajoutée de la lecture et de l'écriture de types simples dans XSD. Prise en charge ajoutée de la lecture et de l'écriture de schémas multiples dans un flux. Prise en charge ajoutée de la lecture et de l'écriture de XSD/XML où une table ou un élément XML unique est incorporé dans au moins deux tables parentes.
Améliorations de DataRow
-
Le nouveau IndexOf permet de trouver une position de ligne dans une collection DataTable.Rows.
Modification de position de colonne dans DataTable
-
La nouvelle méthode SetOrdinal permet aux utilisateurs de modifier la position de la colonne dans un DataTable.
Améliorations des performances de DataView
-
Le DataView dans ADO.NET 2.0 utilise un nouvel algorithme de mise à jour qui apporte une amélioration significative à la maintenance DataView.
Expressions DataColumn
-
Une expression dans un DataColumn peut inclure des colonnes du même DataTable. L'expression peut être mise à jour et la valeur de colonne est conservée.
Sérialisation de schéma pour un DataSet typé
-
Les DataSets typés peuvent éviter la sérialisation du composant de schéma en définissant l'énumération SchemaSerializationMode comme ExcludeSchema.
API indépendantes du fournisseur
Énumération de fournisseur de données .NET
-
Assure la prise en charge de l'énumération des fournisseurs de données installés. Pour plus d'informations, voir Énumération de fournisseurs de données installés.
API indépendantes du fournisseur
-
Les améliorations apportées à l'espace de noms System.Data.Common donnent accès via une simple API à des bases de données sur plusieurs fournisseurs. Pour plus d'informations, voir Écriture de code indépendant du fournisseur dans ADO.NET.
Découverte de schéma
-
La découverte de schéma permet à des applications d'interroger des fournisseurs managés pour trouver et retourner des informations sur le schéma de base de données de la base de données à laquelle une connexion donnée est connectée. Différents éléments de schéma de base de données tels que des tables, des colonnes et des procédures stockées sont exposés à l'aide des méthodes GetSchema de la classe Connection de chaque fournisseur. Pour plus d'informations, voir Obtention des informations de schéma à partir d'une base de données.