To base a template on the SqlCodeTemplate class, you inherit from this class in your template's CodeTemplate directive:

<%@ CodeTemplate Language="C#" TargetLanguage="C#" Inherits="SqlCodeTemplate" Description="Build data access layer." %> <%@ Assembly Name="CodeSmith.BaseTemplates" %>

The SqlCodeTemplate class contains numerous utility methods designed to make it easier to work with SQL databases. These include:

  • GetCSharpVariableType - Returns the equivalent C# variable type for a database column.

  • GetMemberVariableDeclarationStatement - Returns a C# member variable declaration statement.

  • GetMemberVariableDefaultValue - Returns a default value based on a column's data type.

  • GetMemberVariableName - Returns the C# member variable name for a given identifier.  

  • GetPropertyName - Returns the name of the public property for a given column.  

  • GetReaderMethod - Returns the name of the typed reader method for a given column.  

  • GetSqlDbType - Returns the SqlDbType based on a given column.  

  • GetSqlParameterExtraParams - Generates any extra parameters that are needed for the ADO parameter statement.  

  • GetSqlParameterStatement - Returns a T-SQL parameter statement based on the given column.  

  • GetSqlParameterStatements - Generates an assignment statement that adds a parameter to a ADO object for the given column.  

  • GetSqlReaderAssignmentStatement - Returns a typed C# reader.ReadXXX() statement.  

  • GetValidateStatements - Generates a batch of C# validation statements based on the column.  

  • IncludeEmptyCheck - Determines if a given column should use a check for an Empty value.  

  • IncludeMaxLengthCheck - Determines if the given column's data type requires a maximum length to be defined.  

  • IsUserDefinedType - Determine if the given column is using a UDT.