Send feedback on this topic.
Teradata.Client.Provider
Using the Entity Provider with Different Teradata Versions
.NET Data Provider for Teradata > Developer's Guide > ADO.NET Entity Provider for Teradata > Teradata Implementation Specifics > Using the Entity Provider with Different Teradata Versions
.NET CORE   This feature is not supported by the .NET Core implementation of the Data Provider.

This section discusses how the Entity Provider supports the different versions (12.0 and later) of the Advanced SQL Engine. 

The Entity Provider reports a different Provider Manifest for each supported SQL Engine version.  The Provider Manifest explicitly defines how models, mappings, and queries interact with the underlying database.  Types that the Entity Provider supports are directly or indirectly supported by the SQL Engine.  These types are described in the Entity Data Model (EDM) terms.  They are not necessarily the exact Teradata types, but the types the Entity Provider uses to support the Entity Framework.

Provider Manifest Token

When a connection to the SQL Engine is opened, the Entity Provider can get all the needed information to choose the rightProvider Manifest to return. This may not be possible in offline scenarios where either connection information is not available (i.e. during the SQL generation phase) or when it is impossible to connect to the SQL Engine. For these cases, the Entity Framework stores a ProviderManifestToken in the SSDL that is used by the Entity Provider to identify a manifest.  For more information about the ProviderManifestToken attribute, see Schema Element (SSDL).

Here is an example of a token that gets generated in the SSDL for the Teradata Database version 12.00:

Entity Provider Manifest Token DBS 12.0
Copy Code
<Schema Namespace="NorthwindEFModel.Store" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl"
   Provider="Teradata.Client.Provider" ProviderManifestToken="12.00">

Once the provider manifest is identified based on this ProviderManifestToken, it is used to establish what Types, Functions and behavior are available on a particular SQL Engine version.   Each Provider Manifest has different capabilities based on the SQL Engine version. For example, Teradata 12.00 does not support Period Types that were introduced in Teradata 13.00, and Bitwise Functions were not introduced until Teradata 13.10.  

The Entity Provider produces and accepts the following provider manifest tokens for different versions of the SQL Engine.

SQL Engine Version ProviderManifestToken
12.00 12.00
13.00 13.00
13.10 13.10
14.00 14.00
14.10 14.10
15.00 15.00
15.10 15.10
16.00 16.00

Provider Namespace Name

The namespace for Entity Provider provider manifests is Teradata.  This property tells the Entity Framework which prefix is used by the Entity Provider for specific constructs, such as types and functions.  For more information about namespaces, see Namespaces (Entity SQL).

Types

See the Data Type Mappings topic for more information on types that are supported.

Functions

The Entity Provider defines the list of functions supported by the provider where parameter and return types are expressed in EDM terms.  For a list of the supported functions, see topic Canonical and Teradata Function Support.

See Also

DbProviderManifest Class

ProviderManifestToken Attribute (SSDL)

Namespace Attribute (SSDL)