DataObjectIdentifierResolver Class
Provides the ability to expand and contract an identifier for a specified data object.
Inheritance Hierarchy
System.Object
Microsoft.VisualStudio.Data.Framework.DataSiteableObject<IVsDataConnection>
Microsoft.VisualStudio.Data.Framework.DataObjectIdentifierResolver
Namespace: Microsoft.VisualStudio.Data.Framework
Assembly: Microsoft.VisualStudio.Data.Framework (in Microsoft.VisualStudio.Data.Framework.dll)
Syntax
'Declaration
Public MustInherit Class DataObjectIdentifierResolver _
Inherits DataSiteableObject(Of IVsDataConnection) _
Implements IVsDataObjectIdentifierResolver
public abstract class DataObjectIdentifierResolver : DataSiteableObject<IVsDataConnection>,
IVsDataObjectIdentifierResolver
public ref class DataObjectIdentifierResolver abstract : public DataSiteableObject<IVsDataConnection^>,
IVsDataObjectIdentifierResolver
[<AbstractClass>]
type DataObjectIdentifierResolver =
class
inherit DataSiteableObject<IVsDataConnection>
interface IVsDataObjectIdentifierResolver
end
public abstract class DataObjectIdentifierResolver extends DataSiteableObject<IVsDataConnection> implements IVsDataObjectIdentifierResolver
The DataObjectIdentifierResolver type exposes the following members.
Constructors
Name | Description | |
---|---|---|
DataObjectIdentifierResolver() | Initializes a new instance of the DataObjectIdentifierResolver class. | |
DataObjectIdentifierResolver(IVsDataConnection) | Initializes a new instance of the DataObjectIdentifierResolver class, specifying the data connection object. |
Top
Properties
Name | Description | |
---|---|---|
Site | Gets or sets the object site. (Inherited from DataSiteableObject<T>.) |
Top
Methods
Name | Description | |
---|---|---|
ContractIdentifier | Contracts an identifier for a data object with the specified type and complete identifier. | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
ExpandIdentifier | Expands an identifier for a data object with the specified type and partial identifier. | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnSiteChanged | Raises the SiteChanged event. (Inherited from DataSiteableObject<T>.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Events
Name | Description | |
---|---|---|
SiteChanged | Occurs when the Site property is changed. (Inherited from DataSiteableObject<T>.) |
Top
Remarks
Typically, the identifier of an object on a data source consists of an identifying string that gets passed into commands. For example, in the SQL statement SELECT * FROM mytable, the string mytable is a unique identifier of a data object in the context under which the statement is running.
Most often, a data source has a containment mechanism for objects, such as a catalog, schema, or package. However, such containment mechanisms introduce the need for multi-part identifiers because a single name no longer suffices for uniquely identifying objects. For example, Oracle databases differ from SQL Server databases in grouping objects under different users, requiring that unique identifiers for data objects be qualified with user names.
However, a data source typically has a context that is applied to a given connection; this context normally depends on the user or on which part of the system is being used. This context often eliminates the need to fully qualify all identifiers. For example, to identify a table object on an Oracle server, the full qualification requires both a user name and a table name; however, the Oracle context is such that a certain user is always the default. Thus, if a table is identified only by its name, the default user is assumed.
The DataObjectIdentifierResolver class provides a way to translate between the fully qualified form of an identifier (its expanded form) and its minimal form, which uses only those identifier parts that are absolutely required to uniquely identify the object (its contracted form).
Because a translation from one form to another may require information about the identifier's context from the data source, there are potential performance problems if expansion and contraction are heavily required by a consumer. For this reason, this class provides a simple method of caching expansions and resolutions for specific inputs that can be used if performance becomes a problem.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.