' This class is "generated" and will be overwritten.
' Your customizations should be made in PersonRelativeRecord.vb

Imports System.Data.SqlTypes
Imports BaseClasses
Imports BaseClasses.Data
Imports BaseClasses.Data.SqlProvider

Namespace Persons.Business

''' <summary>
''' The generated superclass for the <see cref="PersonRelativeRecord"></see> class.
''' </summary>
''' <remarks>
''' This class is not intended to be instantiated directly.  To obtain an instance of this class, 
''' use the methods of the <see cref="PersonRelativeTable"></see> class.
''' </remarks>
''' <seealso cref="PersonRelativeTable"></seealso>
''' <seealso cref="PersonRelativeRecord"></seealso>

<Serializable()> Public Class BasePersonRelativeRecord
	Inherits PrimaryKeyRecord
	

	Public Shared Shadows ReadOnly TableUtils As PersonRelativeTable = PersonRelativeTable.Instance

	' Constructors
 
	Protected Sub New()
		MyBase.New(TableUtils)
	End Sub

	Protected Sub New(ByVal record As PrimaryKeyRecord)
		MyBase.New(record, TableUtils)
	End Sub
	
	'Evaluates Initialize when->Inserting record formulas specified at the data access layer
    Public Overridable Sub PersonRelativeRecord_InsertingRecord(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.InsertingRecord
        'Apply Initialize->Inserting record formula only if validation is successful.
        	        Dim PersonRelativeRec As PersonRelativeRecord = CType(sender,PersonRelativeRecord)
        Validate_Inserting()
        If Not PersonRelativeRec Is Nothing AndAlso Not PersonRelativeRec.IsReadOnly Then
                End If
    End Sub

	'Evaluates Initialize when->Updating record formulas specified at the data access layer
    Public Overridable Sub PersonRelativeRecord_UpdatingRecord(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.UpdatingRecord
        'Apply Initialize->Updating record formula only if validation is successful.
        	        Dim PersonRelativeRec As PersonRelativeRecord = CType(sender,PersonRelativeRecord)
        Validate_Updating()
        If Not PersonRelativeRec Is Nothing AndAlso Not PersonRelativeRec.IsReadOnly Then
                End If
    End Sub
    
    'Evaluates Initialize when->Reading record formulas specified at the data access layer
    Public Overridable Sub PersonRelativeRecord_ReadRecord(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ReadRecord
        'Apply Initialize->Reading record formula only if validation is successful.
        	        Dim PersonRelativeRec As PersonRelativeRecord = CType(sender,PersonRelativeRecord)
        If Not PersonRelativeRec Is Nothing AndAlso Not PersonRelativeRec.IsReadOnly Then
                End If
    End Sub
    
   'Evaluates Validate when->Inserting formulas specified at the data access layer
   Public Overridable Sub Validate_Inserting ()
		Dim fullValidationMessage As String = ""
		Dim validationMessage As String = ""

		dim formula as String = ""


		If validationMessage <> "" AndAlso validationMessage.ToLower() <> "true" Then
			fullValidationMessage &= validationMessage & vbCrLf
		End If

		If fullValidationMessage <> "" Then
			Throw New Exception(fullValidationMessage)
		End If 
	End Sub
	
	'Evaluates Validate when->Updating formulas specified at the data access layer
   Public Overridable Sub Validate_Updating ()
		Dim fullValidationMessage As String = ""
		Dim validationMessage As String = ""

		dim formula as String = ""


		If validationMessage <> "" AndAlso validationMessage.ToLower() <> "true" Then
			fullValidationMessage &= validationMessage & vbCrLf
		End If

		If fullValidationMessage <> "" Then
			Throw New Exception(fullValidationMessage)
		End If 
	End Sub
 
	Public Overridable Function EvaluateFormula(ByVal formula As String, Optional ByVal dataSourceForEvaluate As BaseClasses.Data.BaseRecord = Nothing, Optional ByVal format As String = Nothing) As String

		Dim e As Data.BaseFormulaEvaluator = New Data.BaseFormulaEvaluator()

            ' All variables referred to in the formula are expected to be
            ' properties of the DataSource.  For example, referring to
            ' UnitPrice as a variable will refer to DataSource.UnitPrice
            e.DataSource = dataSourceForEvaluate

            Dim resultObj As Object = e.Evaluate(formula)
            If resultObj Is Nothing Then
                Return ""
            End If
        	Return resultObj.ToString()
	End Function







#Region "Convenience methods to get/set values of fields"

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RelativeId field.
	''' </summary>
	Public Function GetRelativeIdValue() As ColumnValue
		Return Me.GetValue(TableUtils.RelativeIdColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RelativeId field.
	''' </summary>
	Public Function GetRelativeIdFieldValue() As Int32
		Return CType(Me.GetValue(TableUtils.RelativeIdColumn).ToInt32(), Int32)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.PersonalId field.
	''' </summary>
	Public Function GetPersonalIdValue() As ColumnValue
		Return Me.GetValue(TableUtils.PersonalIdColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.PersonalId field.
	''' </summary>
	Public Function GetPersonalIdFieldValue() As String
		Return CType(Me.GetValue(TableUtils.PersonalIdColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.PersonalId field.
	''' </summary>
	Public Sub SetPersonalIdFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.PersonalIdColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.PersonalId field.
	''' </summary>
	Public Sub SetPersonalIdFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.PersonalIdColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RPreName field.
	''' </summary>
	Public Function GetRPreNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.RPreNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RPreName field.
	''' </summary>
	Public Function GetRPreNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RPreNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RPreName field.
	''' </summary>
	Public Sub SetRPreNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RPreNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RPreName field.
	''' </summary>
	Public Sub SetRPreNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RPreNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RFirstName field.
	''' </summary>
	Public Function GetRFirstNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.RFirstNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RFirstName field.
	''' </summary>
	Public Function GetRFirstNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RFirstNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RFirstName field.
	''' </summary>
	Public Sub SetRFirstNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RFirstNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RFirstName field.
	''' </summary>
	Public Sub SetRFirstNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RFirstNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RLastName field.
	''' </summary>
	Public Function GetRLastNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.RLastNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RLastName field.
	''' </summary>
	Public Function GetRLastNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RLastNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RLastName field.
	''' </summary>
	Public Sub SetRLastNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RLastName field.
	''' </summary>
	Public Sub SetRLastNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.ROrLastName field.
	''' </summary>
	Public Function GetROrLastNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.ROrLastNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.ROrLastName field.
	''' </summary>
	Public Function GetROrLastNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.ROrLastNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.ROrLastName field.
	''' </summary>
	Public Sub SetROrLastNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.ROrLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.ROrLastName field.
	''' </summary>
	Public Sub SetROrLastNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.ROrLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.FName field.
	''' </summary>
	Public Function GetFNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.FNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.FName field.
	''' </summary>
	Public Function GetFNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.FNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.FName field.
	''' </summary>
	Public Sub SetFNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.FNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.FName field.
	''' </summary>
	Public Sub SetFNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.FNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.FLastName field.
	''' </summary>
	Public Function GetFLastNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.FLastNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.FLastName field.
	''' </summary>
	Public Function GetFLastNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.FLastNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.FLastName field.
	''' </summary>
	Public Sub SetFLastNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.FLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.FLastName field.
	''' </summary>
	Public Sub SetFLastNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.FLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.MName field.
	''' </summary>
	Public Function GetMNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.MNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.MName field.
	''' </summary>
	Public Function GetMNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.MNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.MName field.
	''' </summary>
	Public Sub SetMNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.MNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.MName field.
	''' </summary>
	Public Sub SetMNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.MLastName field.
	''' </summary>
	Public Function GetMLastNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.MLastNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.MLastName field.
	''' </summary>
	Public Function GetMLastNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.MLastNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.MLastName field.
	''' </summary>
	Public Sub SetMLastNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.MLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.MLastName field.
	''' </summary>
	Public Sub SetMLastNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.MOrLastName field.
	''' </summary>
	Public Function GetMOrLastNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.MOrLastNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.MOrLastName field.
	''' </summary>
	Public Function GetMOrLastNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.MOrLastNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.MOrLastName field.
	''' </summary>
	Public Sub SetMOrLastNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.MOrLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.MOrLastName field.
	''' </summary>
	Public Sub SetMOrLastNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MOrLastNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.ROrigin field.
	''' </summary>
	Public Function GetROriginValue() As ColumnValue
		Return Me.GetValue(TableUtils.ROriginColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.ROrigin field.
	''' </summary>
	Public Function GetROriginFieldValue() As String
		Return CType(Me.GetValue(TableUtils.ROriginColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.ROrigin field.
	''' </summary>
	Public Sub SetROriginFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.ROriginColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.ROrigin field.
	''' </summary>
	Public Sub SetROriginFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.ROriginColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RNationality field.
	''' </summary>
	Public Function GetRNationalityValue() As ColumnValue
		Return Me.GetValue(TableUtils.RNationalityColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RNationality field.
	''' </summary>
	Public Function GetRNationalityFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RNationalityColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RNationality field.
	''' </summary>
	Public Sub SetRNationalityFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RNationalityColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RNationality field.
	''' </summary>
	Public Sub SetRNationalityFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RNationalityColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RReligion field.
	''' </summary>
	Public Function GetRReligionValue() As ColumnValue
		Return Me.GetValue(TableUtils.RReligionColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RReligion field.
	''' </summary>
	Public Function GetRReligionFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RReligionColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RReligion field.
	''' </summary>
	Public Sub SetRReligionFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RReligionColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RReligion field.
	''' </summary>
	Public Sub SetRReligionFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RReligionColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RAddress field.
	''' </summary>
	Public Function GetRAddressValue() As ColumnValue
		Return Me.GetValue(TableUtils.RAddressColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RAddress field.
	''' </summary>
	Public Function GetRAddressFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RAddressColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RAddress field.
	''' </summary>
	Public Sub SetRAddressFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RAddressColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RAddress field.
	''' </summary>
	Public Sub SetRAddressFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RAddressColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RAmphur field.
	''' </summary>
	Public Function GetRAmphurValue() As ColumnValue
		Return Me.GetValue(TableUtils.RAmphurColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RAmphur field.
	''' </summary>
	Public Function GetRAmphurFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RAmphurColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RAmphur field.
	''' </summary>
	Public Sub SetRAmphurFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RAmphurColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RAmphur field.
	''' </summary>
	Public Sub SetRAmphurFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RAmphurColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RProvince field.
	''' </summary>
	Public Function GetRProvinceValue() As ColumnValue
		Return Me.GetValue(TableUtils.RProvinceColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RProvince field.
	''' </summary>
	Public Function GetRProvinceFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RProvinceColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RProvince field.
	''' </summary>
	Public Sub SetRProvinceFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RProvinceColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RProvince field.
	''' </summary>
	Public Sub SetRProvinceFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RProvinceColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RBirthDate field.
	''' </summary>
	Public Function GetRBirthDateValue() As ColumnValue
		Return Me.GetValue(TableUtils.RBirthDateColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RBirthDate field.
	''' </summary>
	Public Function GetRBirthDateFieldValue() As DateTime
		Return CType(Me.GetValue(TableUtils.RBirthDateColumn).ToDateTime(), DateTime)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RBirthDate field.
	''' </summary>
	Public Sub SetRBirthDateFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RBirthDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RBirthDate field.
	''' </summary>
	Public Sub SetRBirthDateFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.RBirthDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RBirthDate field.
	''' </summary>
	Public Sub SetRBirthDateFieldValue(ByVal val As DateTime)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RBirthDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Function GetRelationIdValue() As ColumnValue
		Return Me.GetValue(TableUtils.RelationIdColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Function GetRelationIdFieldValue() As Int32
		Return CType(Me.GetValue(TableUtils.RelationIdColumn).ToInt32(), Int32)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Sub SetRelationIdFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RelationIdColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Sub SetRelationIdFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.RelationIdColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Sub SetRelationIdFieldValue(ByVal val As Double)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RelationIdColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Sub SetRelationIdFieldValue(ByVal val As Decimal)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RelationIdColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Sub SetRelationIdFieldValue(ByVal val As Int64)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RelationIdColumn)
	End Sub
	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.Ref field.
	''' </summary>
	Public Function GetRef0Value() As ColumnValue
		Return Me.GetValue(TableUtils.Ref0Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.Ref field.
	''' </summary>
	Public Function GetRef0FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Ref0Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.Ref field.
	''' </summary>
	Public Sub SetRef0FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Ref0Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.Ref field.
	''' </summary>
	Public Sub SetRef0FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Ref0Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RefDate field.
	''' </summary>
	Public Function GetRefDateValue() As ColumnValue
		Return Me.GetValue(TableUtils.RefDateColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RefDate field.
	''' </summary>
	Public Function GetRefDateFieldValue() As DateTime
		Return CType(Me.GetValue(TableUtils.RefDateColumn).ToDateTime(), DateTime)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RefDate field.
	''' </summary>
	Public Sub SetRefDateFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RefDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RefDate field.
	''' </summary>
	Public Sub SetRefDateFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.RefDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RefDate field.
	''' </summary>
	Public Sub SetRefDateFieldValue(ByVal val As DateTime)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RefDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Function GetRStatusValue() As ColumnValue
		Return Me.GetValue(TableUtils.RStatusColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Function GetRStatusFieldValue() As Byte
		Return CType(Me.GetValue(TableUtils.RStatusColumn).ToByte(), Byte)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Sub SetRStatusFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RStatusColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Sub SetRStatusFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.RStatusColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Sub SetRStatusFieldValue(ByVal val As Double)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RStatusColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Sub SetRStatusFieldValue(ByVal val As Decimal)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RStatusColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Sub SetRStatusFieldValue(ByVal val As Int64)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RStatusColumn)
	End Sub
	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RStatusRef field.
	''' </summary>
	Public Function GetRStatusRefValue() As ColumnValue
		Return Me.GetValue(TableUtils.RStatusRefColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RStatusRef field.
	''' </summary>
	Public Function GetRStatusRefFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RStatusRefColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatusRef field.
	''' </summary>
	Public Sub SetRStatusRefFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RStatusRefColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatusRef field.
	''' </summary>
	Public Sub SetRStatusRefFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RStatusRefColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RStatusDate field.
	''' </summary>
	Public Function GetRStatusDateValue() As ColumnValue
		Return Me.GetValue(TableUtils.RStatusDateColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RStatusDate field.
	''' </summary>
	Public Function GetRStatusDateFieldValue() As DateTime
		Return CType(Me.GetValue(TableUtils.RStatusDateColumn).ToDateTime(), DateTime)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatusDate field.
	''' </summary>
	Public Sub SetRStatusDateFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RStatusDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatusDate field.
	''' </summary>
	Public Sub SetRStatusDateFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.RStatusDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RStatusDate field.
	''' </summary>
	Public Sub SetRStatusDateFieldValue(ByVal val As DateTime)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RStatusDateColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RRemark field.
	''' </summary>
	Public Function GetRRemarkValue() As ColumnValue
		Return Me.GetValue(TableUtils.RRemarkColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's PersonRelative_.RRemark field.
	''' </summary>
	Public Function GetRRemarkFieldValue() As String
		Return CType(Me.GetValue(TableUtils.RRemarkColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RRemark field.
	''' </summary>
	Public Sub SetRRemarkFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.RRemarkColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's PersonRelative_.RRemark field.
	''' </summary>
	Public Sub SetRRemarkFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.RRemarkColumn)
	End Sub



#End Region

#Region "Convenience methods to get field names"

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RelativeId field.
	''' </summary>
	Public Property RelativeId() As Int32
		Get 
			Return CType(Me.GetValue(TableUtils.RelativeIdColumn).ToInt32(), Int32)
		End Get
		Set (ByVal val As Int32) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.RelativeIdColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RelativeIdSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RelativeIdColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RelativeIdDefault() As String
        Get
            Return TableUtils.RelativeIdColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.PersonalId field.
	''' </summary>
	Public Property PersonalId() As String
		Get 
			Return CType(Me.GetValue(TableUtils.PersonalIdColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.PersonalIdColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property PersonalIdSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.PersonalIdColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property PersonalIdDefault() As String
        Get
            Return TableUtils.PersonalIdColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RPreName field.
	''' </summary>
	Public Property RPreName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RPreNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RPreNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RPreNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RPreNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RPreNameDefault() As String
        Get
            Return TableUtils.RPreNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RFirstName field.
	''' </summary>
	Public Property RFirstName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RFirstNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RFirstNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RFirstNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RFirstNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RFirstNameDefault() As String
        Get
            Return TableUtils.RFirstNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RLastName field.
	''' </summary>
	Public Property RLastName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RLastNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RLastNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RLastNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RLastNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RLastNameDefault() As String
        Get
            Return TableUtils.RLastNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.ROrLastName field.
	''' </summary>
	Public Property ROrLastName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.ROrLastNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.ROrLastNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property ROrLastNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.ROrLastNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property ROrLastNameDefault() As String
        Get
            Return TableUtils.ROrLastNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.FName field.
	''' </summary>
	Public Property FName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.FNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.FNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property FNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.FNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property FNameDefault() As String
        Get
            Return TableUtils.FNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.FLastName field.
	''' </summary>
	Public Property FLastName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.FLastNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.FLastNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property FLastNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.FLastNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property FLastNameDefault() As String
        Get
            Return TableUtils.FLastNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.MName field.
	''' </summary>
	Public Property MName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.MNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.MNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property MNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.MNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property MNameDefault() As String
        Get
            Return TableUtils.MNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.MLastName field.
	''' </summary>
	Public Property MLastName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.MLastNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.MLastNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property MLastNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.MLastNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property MLastNameDefault() As String
        Get
            Return TableUtils.MLastNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.MOrLastName field.
	''' </summary>
	Public Property MOrLastName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.MOrLastNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.MOrLastNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property MOrLastNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.MOrLastNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property MOrLastNameDefault() As String
        Get
            Return TableUtils.MOrLastNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.ROrigin field.
	''' </summary>
	Public Property ROrigin() As String
		Get 
			Return CType(Me.GetValue(TableUtils.ROriginColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.ROriginColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property ROriginSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.ROriginColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property ROriginDefault() As String
        Get
            Return TableUtils.ROriginColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RNationality field.
	''' </summary>
	Public Property RNationality() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RNationalityColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RNationalityColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RNationalitySpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RNationalityColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RNationalityDefault() As String
        Get
            Return TableUtils.RNationalityColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RReligion field.
	''' </summary>
	Public Property RReligion() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RReligionColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RReligionColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RReligionSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RReligionColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RReligionDefault() As String
        Get
            Return TableUtils.RReligionColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RAddress field.
	''' </summary>
	Public Property RAddress() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RAddressColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RAddressColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RAddressSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RAddressColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RAddressDefault() As String
        Get
            Return TableUtils.RAddressColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RAmphur field.
	''' </summary>
	Public Property RAmphur() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RAmphurColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RAmphurColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RAmphurSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RAmphurColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RAmphurDefault() As String
        Get
            Return TableUtils.RAmphurColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RProvince field.
	''' </summary>
	Public Property RProvince() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RProvinceColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RProvinceColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RProvinceSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RProvinceColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RProvinceDefault() As String
        Get
            Return TableUtils.RProvinceColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RBirthDate field.
	''' </summary>
	Public Property RBirthDate() As DateTime
		Get 
			Return CType(Me.GetValue(TableUtils.RBirthDateColumn).ToDateTime(), DateTime)
		End Get
		Set (ByVal val As DateTime) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.RBirthDateColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RBirthDateSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RBirthDateColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RBirthDateDefault() As String
        Get
            Return TableUtils.RBirthDateColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RelationId field.
	''' </summary>
	Public Property RelationId() As Int32
		Get 
			Return CType(Me.GetValue(TableUtils.RelationIdColumn).ToInt32(), Int32)
		End Get
		Set (ByVal val As Int32) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.RelationIdColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RelationIdSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RelationIdColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RelationIdDefault() As String
        Get
            Return TableUtils.RelationIdColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.Ref field.
	''' </summary>
	Public Property Ref0() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Ref0Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Ref0Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Ref0Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Ref0Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Ref0Default() As String
        Get
            Return TableUtils.Ref0Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RefDate field.
	''' </summary>
	Public Property RefDate() As DateTime
		Get 
			Return CType(Me.GetValue(TableUtils.RefDateColumn).ToDateTime(), DateTime)
		End Get
		Set (ByVal val As DateTime) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.RefDateColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RefDateSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RefDateColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RefDateDefault() As String
        Get
            Return TableUtils.RefDateColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RStatus field.
	''' </summary>
	Public Property RStatus() As Byte
		Get 
			Return CType(Me.GetValue(TableUtils.RStatusColumn).ToByte(), Byte)
		End Get
		Set (ByVal val As Byte) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.RStatusColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RStatusSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RStatusColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RStatusDefault() As String
        Get
            Return TableUtils.RStatusColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RStatusRef field.
	''' </summary>
	Public Property RStatusRef() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RStatusRefColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RStatusRefColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RStatusRefSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RStatusRefColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RStatusRefDefault() As String
        Get
            Return TableUtils.RStatusRefColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RStatusDate field.
	''' </summary>
	Public Property RStatusDate() As DateTime
		Get 
			Return CType(Me.GetValue(TableUtils.RStatusDateColumn).ToDateTime(), DateTime)
		End Get
		Set (ByVal val As DateTime) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.RStatusDateColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RStatusDateSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RStatusDateColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RStatusDateDefault() As String
        Get
            Return TableUtils.RStatusDateColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's PersonRelative_.RRemark field.
	''' </summary>
	Public Property RRemark() As String
		Get 
			Return CType(Me.GetValue(TableUtils.RRemarkColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.RRemarkColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property RRemarkSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.RRemarkColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property RRemarkDefault() As String
        Get
            Return TableUtils.RRemarkColumn.DefaultValue
        End Get
    End Property



#End Region

End Class
End Namespace
