mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 24 
Maintaining Data Access 
Class Definitions 
This chapter describes how you are able to maintain the definition of the Data 
Access Class associated with an Entity . 
Overview 
At the heart of each entity definition is a description of the data that the entity is 
to access and utilize from the underlying datasource.  This information is 
contained with a Data Access Class (DAC) definition.  Each entity, thus, has one 
(and only one) associated DAC definition. 
Each entity node within the Data Manager's treeview has a sub-node named "Data 
Access Class".  Double-clicking this node takes you into the DAC maintenance 
window. 
DAC Summary Display 
When the DAC maintenance screen is first displayed, you are shown a summary of 
all members on the class.  In the current version on the product, since only a 
single datasource can be accessed by an entity, this display will show the 
members linked to the underlying MultiValue datasource: 
Convert scanned pdf to word text - Library application class:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Convert scanned pdf to word text - Library application class:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 25 
DAC Datasource Specific Display 
On clicking the Datasource specific radio button, the DAC maintenance screen 
changes its display content to show the definition details specific to the selected 
datasource. 
This new display content is shown below: 
Library application class:VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
Convert PDF to Word in both .NET WinForms and ASP.NET webpage. Create high quality Word documents from both scanned PDF and searchable PDF files without losing
www.rasteredge.com
Library application class:VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Easy to create searchable and scanned PDF files from Word. Convert Word to PDF file with embedded fonts or without original fonts fast.
www.rasteredge.com
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 26 
The datasource specific display shows the base file and schema for the DAC.  It 
also shows a checkbox named "Load all physical data".  This check box allows you 
to indicate that even if a BAC tells the DAC that it is only interested in a subset of 
physical data, the entire physical data set will still be retrieved and passed back to 
the client.  You should only uncheck this option if the underlying datasource 
record structure contains a lot of data.  By only loading the physical data specified 
by the BAC, you will cut down on data volume size moving from datasource to 
client.  You may also wish to uncheck this option if some of the data within the 
datasource record is highly sensitive in nature, in which case this option will allow 
you to prevent that data from ever being transmitted to the client. 
The lower section of the datasource specific view is dedicated to allowing you to 
view and maintain the 5 aspects of the class definition, as described in the 
following sections. 
Library application class:C# PDF - Extract Text from Scanned PDF Using OCR SDK
C#.NET convert PDF to svg, C#.NET convert PDF to text, C#.NET convert PDF to images, C# Recognize scanned PDF document and output OCR result to MS Word file.
www.rasteredge.com
Library application class:C# TIFF: How to Convert TIFF File to PDF Document in C# Project
Convert Tiff to Scanned PDF. |. Home ›› XDoc.Tiff ›› C# Tiff: Tiff to PDF.
www.rasteredge.com
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 27 
Property Maintenance 
The Properties tab provides 6 different views of the properties defined within the 
DAC. 
The first view is a read-only summary display. 
The middle 3 views provide the ability to define which property or properties are 
to be generated for each base datasource field.  The base fields are broken down 
into nested data types, single (non-nested), multivalue nested and subvalue 
nested.  An important concept to grasp at this point is the fact that when you have 
nested data, an entity, no matter which level of data nesting it represents, is able 
to contain properties that expose any data field within the record as a whole, 
single or nested.  Therefore, you are always able to see the full list of Single-
valued, Multi-valued and Sub-valued fields for the record as a whole.  
The other views allow you to define information relating to specialized properties 
based on the presence of nested data as well as properties based around the need 
to amalgamate a property's value across a collection of instances. 
The different property views are selected by clicking the relevant radio button at 
the top of the Properties tab area. 
The 6 property views are described in the following sections. 
Property View - Summary 
This view allows you to see the overall picture of which properties are currently 
defined for the class.  If you double-click one of the rows within the displayed 
grid, you will be taken into one of the other views to see the details of that 
property definition. 
Property View - Single-valued Fields 
This view allows you to maintain the definition of which properties are to be 
included on the interface of the DAC based on the presence of single-valued fields 
within the base file. 
Each single-valued base field within the base file can be represented by one or 
more properties. 
The content of the Single-valued property view is shown below: 
Library application class:C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Easy to create searchable and scanned PDF files from Word. Convert to PDF with embedded fonts or without original fonts fast.
www.rasteredge.com
Library application class:C# PDF Text Extract Library: extract text content from PDF file in
Supports text extraction from scanned PDF by using XDoc.PDF for .NET or fetch text content from source PDF document file for word processing, presentation
www.rasteredge.com
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 28 
The grid on the left-hand side of the display allows you to select one of the 
single-valued base fields.  Fields that represent calculated or dynamically derived 
non-physical data are suffixed with "(c)".  Base fields that are currently 
represented by one or more properties are flagged with an asterisk in the second 
grid column. 
The "Properties to generate" grid on the right-hand side of the display lists all of 
the available properties for the currently selected base field.  The "Generate" 
column checkbox is used to indicate which of these available properties are to be 
actually included within the interface of the generated class code.  The "Property 
Type" column displays the category of each potential property.  The "Property 
Name" column allows you to enter the name of the property as it will appear within 
the generated code. 
There are a number of possibilities for the Property Type column.  The grid below 
describes each possible setting: 
Library application class:VB.NET PDF Text Extract Library: extract text content from PDF
OCR text from scanned PDF by working with XImage.OCR SDK. Best VB.NET PDF text extraction SDK library and component for free download.
www.rasteredge.com
Library application class:VB.NET PDF - Extract Text from Scanned PDF Using OCR SDK
pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET convert PDF to SVG. Recognize scanned PDF document and output OCR result to MS Word file.
www.rasteredge.com
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 29 
Property Type 
Description 
Native .NET value 
A simple .NET data type.  This will be one of the 
following standard .NET CLR data types: 
String 
Int32 
Int64 
Double 
Decimal 
DateTime 
Boolean 
String equivalent value 
A string representation of either a date or time 
value. 
MvArray of .NET values 
An MvArray of .NET values.  Please refer the 
Dynamic Array Representation of Data section 
below for more details on this topic. 
MvArray of string 
equivalent values 
An MvArray of string equivalent values, as 
described above.  Please refer the Dynamic Array 
Representation of Data section below for more 
details on this topic. 
Single related entity 
A reference to a related singular entity instance. 
Collection of related 
entities 
A reference to a collection of related entity 
instances. 
SmvArray of .NET values 
An SmvArray of .NET values.  Please refer the 
Dynamic Array Representation of Data section 
below for more details on this topic. 
SmvArray of string 
equivalent values 
An SmvArray of string equivalent values, as 
described above.  Please refer the Dynamic Array 
Representation of Data section below for more 
details on this topic. 
The area underneath the "Properties to generate" will change dynamically 
depending on the type of property currently selected.  If a particular property has 
never been defined, the area will be empty; in which case clicking the Generate 
column checkbox will force the property definition input fields to appear. 
Most property types will display a "Property options" group box beneath the 
properties grid.  Again, the content of this area will change dynamically depending 
on the precise details of the currently selected property and its associated base 
field.  Below is a grid indicating the range of possible input controls that may 
appear within the Property options groupbox area: 
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 30 
Input Field 
Description 
String 
Indicates that the property value will be a String .NET data 
type. This input is automatically selected for base fields 
representing an alphanumeric value.  
Int32/Int64 
Indicates whether the property value will be either an Int32 or 
Int64 .NET data type. These inputs are displayed for base 
fields representing an integer numeric value.  
Double/Decimal  Indicates whether the property value will be either a Double or 
Decimal .NET data type. These inputs are displayed for base 
fields representing a non-integer numeric value.  
DateTime 
Indicates that the property value will be a DateTime .NET data 
type. This input is automatically selected for base fields 
representing either a date or time value.  
Boolean 
Indicates that the property value will be a Boolean .NET data 
type. This input is automatically selected for base fields 
representing a Boolean value.  
Update stamp 
Allows you to indicate that the base field associated with this 
property holds a date-time modified update stamp.  This 
input is only displayed for base fields representing an 
alphanumeric value.  Only one property within the DAC as a 
whole may be selected as an update stamp.  Update stamps 
are discussed in further detail in the Datasource Update 
Control Maintenance section below. 
Exists check 
Allows you to indicate that any value assigned to this property 
will be automatically validated to ensure that it is a valid 
existing primary key of an associated entity type.  This option 
is only displayed for base fields flagged within the base file 
schema as holding a foreign key value. 
Long format 
This field is only displayed for "string equivalent value" 
property types and allows you to indicate whether the 
Windows "Long" date/time format should be used to format 
the returned date or time value.  If this option is unchecked, 
the Windows "Short" format will be used. 
Expose as 
Object data 
type 
This checkbox is available for all Native .NET value property 
types (except Boolean).  It allows you to expose the property 
as an Object data type as opposed to its .NET value type. 
Exposing a property has pros and cons. 
The advantage is that an Object data type gives you more 
flexibility in the way in which blank or bad datasource data is 
handled.  This is because Solution Objects will adjust the 
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 31 
actual type of data 'boxed' by the object to fit the retrieved 
data, including returning null values. 
The disadvantage is that you cannot guarantee the type of 
data returned by such a property. 
Present empty 
string as null 
This is available for any property which is exposed as an 
object data type as well as String data types.  It results in an 
empty value (String.Empty) being presented as a null/Nothing 
value. 
Related entity 
Allows you select the type of entity that the reference held by 
a property represents.  This field is only displayed for 
reference type properties. 
Cascade deletes  Indicates that if an instance of the current entity is deleted, 
any instances of the entity type indicated by the "Related 
entity" input field that are held by a reference property will 
also be deleted.  This field is only displayed for reference type 
properties. 
Synchronize 
foreign keys 
Indicates that if the entity type indicated by the "Related 
entity" contains a property holding the primary key of the 
current entity (i.e. a foreign key to the current entity), when 
the primary key of the current entity changes, any instances 
of the related entity held by a reference property will have this 
foreign key property updated.  This field is only displayed for 
reference type properties. 
DAL custom 
code Get Pre-
check 
Allows you to indicate that the PropertyGet function within the 
custom code module associated within the generated code 
module is to be called before the generated code retrieves the 
value of the property from the base data record. 
This allows you to control the value that is returned by the 
property and also to prevent the generated code from 
performing its default property value retrieval action. 
An example of where you may need to do this is where a base 
field's value is (either wholly or in-part) derived from the 
presence of a foreign key within the record.  In this case, if 
the foreign key is blank, you may well want to avoid a 
pointless roundtrip to the datasource to derive the property 
value or return a custom value (from within your custom code) 
indicating a non-existing foreign key. 
Please refer to the Integrating Custom Code  chapter for 
further details on this topic. 
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 32 
Get Post-check  Allows you to indicate that the PropertyGet function within the 
custom code module associated within the generated code 
module is to be called after the generated code retrieves the 
value of the property from the base data record. 
This allows you to control the value that is returned by the 
property if required. 
An example of where you may need to do this is where you 
wish to control the final formatting of a string property value. 
Please refer to the Integrating Custom Code  chapter for 
further details on this topic. 
Underneath the Property options groupbox area is an input field where you may 
enter a description of the field.  This value will be initially set to the "Notes" 
section of the extended dictionary definition of the associated base field.  The 
value of this field will be used in the XML-based IntelliSense help comments within 
the generated BAL code module. 
At the foot of the property definition area is a tab control allowing you to enter 
further definition details. 
The first tab, "Input Criteria", allows you to define the automatic property value 
formatting and validation that will be performed whenever a property value is 
retrieved or assigned.  Input criteria is only available for Int32/64, 
Double/Decimal, DateTime and String property types representing physical data. 
The fields presented in this tab are described in the following grid: 
Input Field 
Description 
Use extended 
dictionary 
settings 
Allows you to indicate that the settings to be used for 
formatting/validation are to be sourced at run-time from the 
extended dictionary definition of the associated base field.  If 
this value if checked, the input fields that are covered by 
extended dictionary are disabled and display the settings 
currently held within the extended dictionary.  Otherwise, the 
values must be set and maintained manually within this tab.  
Default prompt  Used by some of the Solution Objects interface creation RAD 
tools as the default input label associated with an input 
control bound to this property. 
Default value 
When a new instance of an entity is created, this value will be 
set as the initial value of the property. 
Mandatory 
input 
Allows you to indicate that this property must contain a value 
before the entity data can be saved.  
Input range 
Allows you to indicate the minimum allowable value for this 
mv.NET Solution Objects Developer Guide  - Maintaining Data Access Class Definitions 
Page 33 
(Min) 
property.  This value is ignored for Boolean property types. 
Input range 
(Max) 
Allows you to indicate the maximum allowable value for this 
property.  This value is ignored for Boolean property types. 
Input casing 
Allow you to specify the case conversion that will be 
automatically applied to any values assigned to this property.  
This value is ignored for Boolean property types. 
Database 
subroutine 
Allows you to specify the name of the database server 
resident subroutine to be automatically called in order to 
validate any value assigned to the property.  This subroutine 
must contain 5 arguments in its signature as follows: 
Arg#1 - The value for validation (this will be in external display 
format) 
Arg#2 - The current item ID (may be blank for new instances) 
Arg#3 - The (current) whole item string 
Arg#4 - The value to be used (set on entry to the same value 
as Arg#1) - must be in external display format - i.e. 
not in internal database format. 
Arg#5 - Validation error.  Leave blank if validated OK 
An example of such a subroutine signature definition is as 
follows: 
SUBROUTINE VALIDATE.PROPERTY (CANDIDATEVALUE, ITEMID, ITEMDATA, 
VALIDATEDVALUE, ERRORMSG) 
Note, it is good efficient practice to clear the values of 
arguments 1, 2 and 3 on exit from the subroutine to optimize 
network traffic. 
Use extended 
call signature 
If this checkbox is ticked, the number of arguments that must 
be supplied to the specified database subroutine must be 
extended (as defined above) to include 3 extra arguments as 
follows: 
Arg#5 - The name of the associated BAC and DAC. These 2 
names are separated by a char 253 (VM). 
Arg#6- The name of the property being validated. 
Arg#7- The value of the property when the data was originally 
retrieved from the data source.  
Arg#8 - Validation error.  Leave blank if validated OK 
An example of such a subroutine signature definition is as 
follows: 
SUBROUTINE VALIDATE.PROPERTY (CANDIDATEVALUE, ITEMID, ITEMDATA, 
VALIDATEDVALUE, ENTITYNAMES, CURRENTVALUE, PROPERTYNAME, 
ERRORMSG) 
Documents you may be interested
Documents you may be interested