B.1 codegen Namespace

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.



ADO. NET in a Nutshell
ADO.NET in a Nutshell
ISBN: 0596003617
EAN: 2147483647
Year: 2005
Pages: 415

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net