

LFI Data Access
The Data Access package provides frameworks and classes for dealing with data storage and retrieval.
Extended XML Serialization
The XML serialization objects provide a robust pattern and set of tools to persist and retrieve information in XML format.These tools go far beyond the standard XML serialization by providing support for the following:
-
Data Versioning
Object information is stored along with a version number so that steps can be taken to restore data saved under earlier versions. -
Nested Independent Objects
Objects can contain other nested objects which manage their serialization and version independently of the containing object. -
Refactoring Support
Normal XML serialization breaks when namespaces, class names, or data properties change. Our extended objects provide a simple way to remap old data onto the new schema so it can be properly restored.
SQL Script Execution Engine
The script execution engine is a tool to help support the creation and upgrades of databases. The tool takes an XML manifest file which specifies a list of scripts and dependency order for execution. All scripts are executed as part of a single transaction so roll backs can occur if an error is encountered.The support for upgrading databases is also handled by the XML manifest which directs the engine on which scripts to run depending on the existing database version.
The tool also supports a Smart Tag feature for dynamic text replacement within the script. This is useful if you have a situation where the script needs modified based on user options (e.g. changing the table space for new tables).
The engine currently supports only Microsoft SQL Server but is designed with a plug-in architecture to allow for support for other DBMS to be added as needed.
Synchronization Framework
The Synchronization Framework is implemented as a WCF based service which supports the upload and download of data. Data is transmitted using binary serialization to greatly reduce package size and improve performance.The framework is agnostic to the actual data being pushed through it. Data packages are defined and manipulated by custom upload and download handlers for the client and server. The handlers can interface with databases, read/write files, or call other APIs or Web Services as needed.
Client side classes are available for both the desktop and compact framework.
Transaction Framework
This component is offered as an alternative to the Entity Framework and provides additional functionality.The key features of this component are:
- Base classes for rapid object creation
- Object state support (e.g. new or dirty)
- Batch process support
- WPF Binding support (through INotifyPropertyChanged)