To generate classes, provide an XML file with a <Types> root element. You can define <Class>, <Interface>, and <Member> elements.
Summary comments can be provided either as an attribute (Summary="...") or as a sub-node (<Summary>...</Summary>) for both classes and members.
XML Schema Reference
Class Attributes
Name (Mandatory): The name of the class.Summary (Optional): Default is an empty string.Base (Optional): The base type for the class. Default is TSqlFragment.Abstract (Optional): Default is false. If true, adds the abstract keyword to the class definition.IsSql80 (Optional): Default is true. Indicates support for SQL 2000 constructs.IsSql90 (Optional): Default is false. Indicates support for SQL 2005 constructs.
Interface Attributes
Name (Mandatory): The name of the interface.Summary (Optional): Default is an empty string.Base (Optional): The base type for the interface. Default is an empty string.
Member Attributes
Name (Mandatory): The name of the member.Type (Mandatory): The type of the member.Summary (Optional): Default is an empty string.Collection (Optional): Default is false. If true, generates a collection property instead of a regular one.GenerateAdder (Optional): Default is true. Controls generation of Add<memberName> for collection members (only applies to collections).GenerateUpdatePositionInfoCall (Optional): Default is true. Controls whether the UpdatePositionInfo call is generated in properties (not applicable to bool, int, or enum).IsSql80 (Optional): Default is true. Indicates support for SQL 2000 constructs.IsSql90 (Optional): Default is false. Indicates support for SQL 2005 constructs.
ModelBuilderSubstitution Attributes
Used within a member to define sub-visitor logic:
Type (Mandatory): The name of the sub-visitor (which will be generated).Handler (Mandatory): The name of the handler for the sub-visitor (this method is called but NOT generated).VisitChildren (Optional): Default is true. Specifies whether the ExplicitVisit method is overridden in the ModelBuilder.
<?xml version="1.0" ?>
<Types>
<Class Name = "NullableConstraint">
<Member Name="Nullable" Type = "bool" GenerateUpdatePositionInfoCall="false"/>
</Class>
<Class Name = "Column" Summary = "Represents a column that is used inside an expression.">
<Member Name="Identifiers" Type="Identifier" Collection = "true"/>
<Member Name="ColumnType" Type="ColumnType" Summary="Type of the column."/>
</Class>
<Class Name = "SimpleTableSource" BaseType = "SelectTableSource" Abstract="true">
<Member Name="Alias" Type="Identifier" Summary = "As identifier. May be null."/>
</Class>
</Types>