Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017

IVsDataSourceSpecializer.DeriveSource, méthode

Dérive une source de données de DDEX, si possible, d'une chaîne spécifique au fournisseur de connexion de données dans DDEX.

Espace de noms :  Microsoft.VisualStudio.Data.Core
Assembly :  Microsoft.VisualStudio.Data.Core (dans Microsoft.VisualStudio.Data.Core.dll)

Guid DeriveSource(
	string connectionString
)

Paramètres

connectionString
Type : String

Une chaîne spécifique au fournisseur de connexion de données dans DDEX qui définit une source de données cible.

Valeur de retour

Type : Guid
Un identificateur valide et stocké de source de données de DDEX qui a été déterminée pour représenter le type de la source de données cible a identifié par la chaîne de connexion.

ExceptionCondition
ArgumentNullException

Le paramètre connectionString est null.

c'est la méthode la plus importante sur l'interface d' IVsDataSourceSpecializer . Elle permet aux clients de DDEX d'utiliser une chaîne uniquement DDEX de fournisseur d'identificateur et de connexion de données pour déterminer si un fournisseur un spécialisé la prise en charge de la source de données de DDEX pointée pointe vers des informations dans la chaîne de connexion. Si cette méthode retourne un GUID non vide, le client tournera généralement autour et appelle d'autres méthodes sur l'interface, en passant l'identificateur de source de données de DDEX, pour récupérer des implémentations spécifiques à la source de données des entités de charge.

Le code suivant illustre une implémentation de base de cette méthode du fournisseur Microsoft SQL Server DDEX. Ce fournisseur prend en charge deux sources de données : il est une base de données SQL Server et une autre est une base de données SQL Server Express qui utilise une base de données sur l'ordinateur local. Il détermine que la source de données doit être une base de données lorsqu'il existe un mot clé d'AttachDBFilename dans la chaîne de connexion. (Cet exemple n'affiche pas l'approche recommandée, qui serait d'analyser correctement la chaîne.) L'exemple hérite de la classe d' DataSourceSpecializer d'infrastructure, qui fournit une implémentation par défaut des autres méthodes sur l'interface.

using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;

public class MySourceSpecializer3 : DataSourceSpecializer
{
    private static readonly Guid s_sqlServerDataSource =
        new Guid("067EA0D9-BA62-43f7-9106-34930C60C528");
    private static readonly Guid s_sqlServerFileDataSource =
        new Guid("485C80D5-BC85-46db-9E6D-4238A0AD7B6B");

    public override Guid DeriveSource(string connectionString)
    {
        if (connectionString == null)
        {
            throw new ArgumentNullException("connectionString");
        }
        if (connectionString.Contains("AttachDBFilename"))
        {
            return s_sqlServerFileDataSource;
        }
        return s_sqlServerDataSource;
    }
}

Afficher: