After looking through the forums, I found a DTO template for C# but not one for VB. Here is the existing C# template translated over to VB for those who would like to use this in a VB.NET project.
Frans, any change of getting these DTO templates included in the next release since we have both languages now? :-)
Imports System
Imports System.ComponentModel
Imports System.Collections
Imports System.Runtime.Serialization
Imports <[RootNamespace]>.EntityClasses
Namespace <[RootNamespace]>.DtoClasses
''' <summary>
''' DTO class for the entity '<[CurrentEntityName]>'.
''' </summary>
<Serializable()> _
Public <[If UsePartialClasses]>Partial <[EndIf]>Class <[CurrentEntityName]>Dto<[ If IsSubType ]>
Inherits <[ SuperTypeName ]>Dto<[ EndIf]>
#Region "Class Member Declarations"
<[Foreach EntityField CrLf]> Private _<[CaseCamel EntityFieldName]> As <[If IsNullable]><[If IsValueType]>Nullable(Of <[TypeOfField]>)<[Else]><[TypeOfField]><[EndIf]><[Else]><[TypeOfField]><[EndIf]><[NextForeach]>
#End Region
''' <summary>
''' CTor
''' </summary>
Public Sub New()
End Sub
''' <summary>
''' CTor which initializes the DTO with values from its corresponding entity
''' </summary>
''' <param name="entityInstance">The entity instance which holds the values for this DTO</param>
Public Sub New(ByVal entityInstance As <[CurrentEntityName]>Entity)
<[Foreach EntityField CrLf]> _<[CaseCamel EntityFieldName]> = entityInstance.<[EntityFieldName]><[NextForeach]>
End Sub
''' <summary>
''' Creates a new entity instance and copies over the values of this DTO
''' </summary>
Public <[If IsSubType]>Overloads <[EndIf]>Function ToEntity() As <[CurrentEntityName]>Entity
Return ToEntity(new <[CurrentEntityName]>Entity())
End Function
''' <summary>
''' Copies over the values of this DTO into the entity passed in.
''' </summary>
Public <[If IsSubType]>Overloads <[EndIf]>Function ToEntity(ByVal toFill As <[CurrentEntityName]>Entity) As <[CurrentEntityName]>Entity
<[Foreach EntityField CrLf]><[If Not IsReadOnly]> toFill.<[EntityFieldName]> = _<[CaseCamel EntityFieldName]><[EndIf]><[NextForeach]>
<[If IsSubType]> MyBase.ToEntity(toFill)
<[ EndIf]>Return toFill
End Function
<[Foreach EntityField CrLf]>
''' <summary>The <[EntityFieldName]> property of the Entity <[CurrentEntityName]></summary>
Public <[If EntityFieldOverrides]>Overrides<[Else]>Overridable<[EndIf]> <[If IsReadOnly]>ReadOnly <[EndIf]>Property [<[EntityFieldName]>]() As <[If IsNullable]><[If IsValueType]>Nullable(Of <[TypeOfField]>)<[Else]><[TypeOfField]><[EndIf]><[Else]><[TypeOfField]><[EndIf]>
Get
Return _<[CaseCamel EntityFieldName]>
End Get<[If Not IsReadOnly]>
Set(value As <[If IsNullable]><[If IsValueType]>Nullable(Of <[TypeOfField]>)<[Else]><[TypeOfField]><[EndIf]><[Else]><[TypeOfField]><[EndIf]>)
_<[CaseCamel EntityFieldName]> = value
End Set<[EndIf]>
End Property
<[NextForeach]>
End Class
End Namespace