Condividi tramite


Interfaccia IVsDataObjectIdentifierResolver

Rappresenta l'interfaccia che espone metodi per espandere e il contratto dell'identificatore per un oggetto dati specificato.

Spazio dei nomi:  Microsoft.VisualStudio.Data.Services.SupportEntities
Assembly:  Microsoft.VisualStudio.Data.Services (in Microsoft.VisualStudio.Data.Services.dll)

Sintassi

'Dichiarazione
<DataClientObjectAttribute("A4810A0C-49B2-4260-9D81-2D2EBA25AA3F")> _
<DataDefaultObjectAttribute("AC97DC0A-C7E1-4532-AFBF-C80A122D6533")> _
Public Interface IVsDataObjectIdentifierResolver
[DataClientObjectAttribute("A4810A0C-49B2-4260-9D81-2D2EBA25AA3F")]
[DataDefaultObjectAttribute("AC97DC0A-C7E1-4532-AFBF-C80A122D6533")]
public interface IVsDataObjectIdentifierResolver
[DataClientObjectAttribute(L"A4810A0C-49B2-4260-9D81-2D2EBA25AA3F")]
[DataDefaultObjectAttribute(L"AC97DC0A-C7E1-4532-AFBF-C80A122D6533")]
public interface class IVsDataObjectIdentifierResolver
[<DataClientObjectAttribute("A4810A0C-49B2-4260-9D81-2D2EBA25AA3F")>]
[<DataDefaultObjectAttribute("AC97DC0A-C7E1-4532-AFBF-C80A122D6533")>]
type IVsDataObjectIdentifierResolver =  interface end
public interface IVsDataObjectIdentifierResolver

Il tipo IVsDataObjectIdentifierResolver espone i seguenti membri.

Metodi

  Nome Descrizione
Metodo pubblico ContractIdentifier Se implementata da una classe, dai contratti un identificatore per un oggetto dati al tipo specificato e dall'identificatore completo.
Metodo pubblico ExpandIdentifier Se implementata da una classe, espande un identificatore per un oggetto dati con l'identificatore specificato parziali e del tipo.

In alto

Note

In genere, l'identificatore di un oggetto su un'origine dati è costituito da una stringa di identificazione che ottiene i controlli trasformati. Ad esempio, nell'istruzione SQL SELECT * FROM mytable, la stringa "mytable" è un identificatore univoco di un oggetto dati nel contesto in cui l'istruzione è in esecuzione.

Molto spesso, un'origine dati è un meccanismo di contenimento per gli oggetti, ad esempio un catalogo, uno schema, o un pacchetto. Tuttavia, questi meccanismi di contenimento introducono la necessità di identificatori in più parti poiché un singolo nome più non basta eseguire in modo univoco l'identificazione degli oggetti. Ad esempio, Oracle differisce da SQL Server in oggetti di raggruppamento in utente diversi, richiedere alcun che gli identificatori univoci per gli oggetti dati siano qualificati con i nomi utente.

Tuttavia, un'origine dati in genere ha un contesto valido per una connessione specificata; questo contesto in genere dipende dall'utente, o su quale parte del sistema viene utilizzata. Questo contesto elimina spesso la necessità di qualificare completamente tutti gli identificatori. Ad esempio, per identificare un oggetto tabella in un server Oracle, la qualificazione completa richiede che sia un nome utente e un nome di tabella, tuttavia, il contesto di Oracle è tale che un utente sicuro è sempre l'impostazione predefinita. Pertanto, se una tabella viene identificata solo dal nome, l'utente predefinito viene utilizzato.

La classe DataObjectIdentifierResolver consente la conversione tra il form completo di un identificatore (il form espanso) e il relativo form minimo, che utilizza solo le parti dell'identificatore che sono completamente necessarie per identificare in modo univoco dell'oggetto (il form contratto).

Poiché una conversione da un form a un altro può richiedere informazioni sul contesto dell'identificatore dall'origine dati, esistono potenziali problemi di prestazioni se l'espansione e la contrazione richieste molto da un utente. Per questo motivo, questa classe fornisce un metodo semplice per espansioni e di risoluzione di memorizzazione nella cache per input specifici che possono essere utilizzati se le prestazioni diventano un problema.

Questa interfaccia dispone di un'implementazione di base in DDEX Framework.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Data.Services.SupportEntities