Business Data Catalog TypeDescriptors are used to describe type information about values being used within the Business Data Catalog to either pass in parameter values, or return data via return parameters. As well as describing the .NET type of the value, various other attributes are often assigned such as any Identifier the parameter refers to, and a unique name. Lets take a look at an input parameter:

@ProductId is declared as an input parameter. Within the <Parameter> tag, declared is the BDC TypeDescriptor with its attributes, which describes the data type of the input parameter.

If you are using BDC Parameters along with Filters you may find that your TypeDescriptor has a default value added within it:

BDC TypeDescriptors are a lot more complex for return parameters just because of the way the data is returned in .NET DataReader and DataRecord object which must all be described as Business Data Catalog TypeDescriptors.

As you can see above the return parameter contains a BDC TypeDescriptor for a DataReader class, which contains a TypeDescriptor for the DataRecord class. Then within our DataRecord we define the columns that are being returned from our data source. This TypeDescriptor definition includes:

Name - name of the field that is being returned from the data source.

Type Name - the .NET data type as returned by your data source. Depending on your data source you may need to translate the data source type to the relevant .NET data type.

Identifier Name – If the returned column is used as identifier of BDC entity, then it should be marked as so.

When you are using BDC Meta Man you do not need to worry about the TypeDescriptors as we generate all of these for you as you add and remove parameters or columns within the Entity Management.