ADO.NET in a Nutshell

B.1 codegen Namespace

The codegen namespace gives you fine-grained control of a typed DataSet . By adding codegen attributes, you can configure the names that are used for methods , properties, relations, and constraints. When using the codegen namespace, it should be imported as shown:

<xs:schema id="DataSetName" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:codegen="urn:schemas-microsoft-com:xml-msprop" >

codegen attributes configure the names used in strongly typed DataSet objects. They do not have any effect on the functionality of the generated DataSet class.

Table B-1 indicates where the various codegen attributes can be used and what they accomplish. Table B-2 briefly describes each attribute.

Table B-1. codegen attribute use

Typed DataSet object/method/event

Default name

codegen attribute

DataTable

TableNameDataTable

typedPlural

DataTable Methods

NewTableNameRow AddTableNameRow DeleteTableNameRow

typedName

DataRowCollection

TableName

typedPlural

DataRow

TableNameRow

typedName

DataColumn

DataTable.ColumnNameColumn DataRow.ColumnName

typedName

Property

PropertyName

typedName

Child Accessor

GetChildTableNameRows

typedChildren

Parent Accessor

TableNameRow

typedParent

DataSet Events

TableNameRowChangeEvent TableNameRowChangeEventHandler

typedName

Table B-2. codegen atttributes

Attribute

Description

typedName

Name of the object in the generated class.

typedPlural

The name of the object in a collection of objects. For example, if you specify Category for typedName and Categories for typedPlural , you generate a Categories collection and a Category row (instead of a CategoriesRow ).

typedParent

Name of the object when referred to in a parent relationship. Typed datasets automatically generate methods that provide access to parent and child rows. For example, if you specify Category for the typedParent of an order record, use a Order.Category( ) method instead of Order.GetCategoriesRow( ) .

typedChildren

Name of the method to return objects from a child relationship. For example, if you specify Order for the typedChild of a category record, use a Category.Orders( ) method instead of Category.GetOrdersRows( ) .

nullValue

Indicates the behavior when null values are encountered . See Table B-3 for possible values.

Finally, Table B-3 identifies possible values for the nullValue attribute.

Table B-3. Values for nullValue

Value

Description

[Replacement Value]

Specifies a value to be returned. For example, use nullValue="0" to set null integer fields to 0.

_throw

Throws an exception when a null value is encountered. This is the default.

_null

Returns a null reference (or throws an exception if a primitive type is encountered).

_empty

For strings, returns String.Empty . For objects, returns the default uninitialized object (created from the zero-parameter constructor). If a primitive type is encountered, ADO.NET generates an exception.

Категории