From d3842aa2cadbd9e7682095e0069548a6d86488b3 Mon Sep 17 00:00:00 2001
From: Graham Denyer <graham.denyer@markit.com>
Date: Mon, 4 Apr 2016 12:21:44 +0100
Subject: [PATCH] Extended TVService and SetupTV to allow use of SQLite instead
 of SQL Server or MySQL

---
 .../Gentle.NET/Output/Release/Gentle.Common.xml    |  2596 ++++
 .../Release/Gentle.Framework.Tests.dll.config      |    11 +
 .../Output/Release/Gentle.Framework.Tests.xml      |  1076 ++
 .../Gentle.NET/Output/Release/Gentle.Framework.xml |  5215 +++++++
 .../Output/Release/Gentle.Provider.DB2.xml         |   101 +
 .../Output/Release/Gentle.Provider.Firebird.xml    |   202 +
 .../Output/Release/Gentle.Provider.Jet.xml         |   185 +
 .../Output/Release/Gentle.Provider.MySQL.xml       |   101 +
 .../Output/Release/Gentle.Provider.Oracle.xml      |   129 +
 .../Output/Release/Gentle.Provider.OracleODP.xml   |   138 +
 .../Output/Release/Gentle.Provider.PostgreSQL.xml  |   131 +
 .../Output/Release/Gentle.Provider.SQLServer.xml   |   206 +
 .../Output/Release/Gentle.Provider.SQLServerCE.xml |   167 +
 .../Output/Release/Gentle.Provider.SQLite.xml      |   126 +
 .../Output/Release/Gentle.Provider.Sybase.xml      |   123 +
 .../Output/Release/Gentle.Provider.SybaseASA.xml   |   128 +
 .../Output/Release/System.Data.SQLite.xml          | 15445 +++++++++++++++++++
 .../Source/Gentle.Common/Gentle.Common.xml         |  2596 ++++
 .../Gentle.Framework.Tests.csproj                  |     3 +-
 .../Gentle.Framework.Tests.xml                     |  1076 ++
 .../Source/Gentle.Framework.Tests/PostBuild.bat    |    19 +-
 .../Source/Gentle.Framework.Tests/app.config       |    11 +
 .../Source/Gentle.Framework/Gentle.Framework.xml   |  5215 +++++++
 .../Gentle.Provider.DB2/Gentle.Provider.DB2.xml    |   101 +
 .../Gentle.Provider.Firebird.xml                   |   202 +
 .../Gentle.Provider.Jet/Gentle.Provider.Jet.xml    |   185 +
 .../Gentle.Provider.MySQL.xml                      |   101 +
 .../Gentle.Provider.Oracle.xml                     |   129 +
 .../Gentle.Provider.OracleODP.xml                  |   138 +
 .../Gentle.Provider.PostgreSQL.xml                 |   131 +
 .../Gentle.Provider.SQLServer.xml                  |   206 +
 .../Gentle.Provider.SQLServerCE.xml                |   167 +
 .../Gentle.Provider.SQLite.csproj                  |    20 +-
 .../Gentle.Provider.SQLite.xml                     |   126 +
 .../Source/Gentle.Provider.SQLite/app.config       |    35 +
 .../lib/System.Data.SQLite.DLL                     |   Bin 629760 -> 0 bytes
 .../Source/Gentle.Provider.SQLite/packages.config  |     6 +
 .../Gentle.Provider.Sybase.xml                     |   123 +
 .../Gentle.Provider.SybaseASA.xml                  |   128 +
 Common-MP-TVE3/Gentle.config                       |     2 +-
 .../SetupTv/39_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/40_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/41_upgrade_sqlite_database.sql         |     7 +
 .../SetupTv/42_upgrade_sqlite_database.sql         |     7 +
 .../SetupTv/43_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/44_upgrade_sqlite_database.sql         |     8 +
 .../SetupTv/45_upgrade_sqlite_database.sql         |    20 +
 .../SetupTv/46_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/47_upgrade_sqlite_database.sql         |    13 +
 .../SetupTv/48_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/49_upgrade_sqlite_database.sql         |    54 +
 .../SetupTv/50_upgrade_sqlite_database.sql         |     8 +
 .../SetupTv/51_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/52_upgrade_sqllite_database.sql        |    10 +
 .../SetupTv/53_upgrade_sqlite_database.sql         |    82 +
 .../SetupTv/54_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/55_upgrade_sqlite_database.sql         |    11 +
 .../SetupTv/56_upgrade_sqlite_database.sql         |    36 +
 .../SetupTv/57_upgrade_sqlite_database.sql         |    25 +
 .../SetupTv/58_upgrade_sqlite_database.sql         |    10 +
 .../SetupTv/59_upgrade_sqlite_database.sql         |    31 +
 .../SetupTv/60_upgrade_sqlite_database.sql         |     6 +
 .../SetupTv/61_upgrade_sqlite_database.sql         |    20 +
 TvEngine3/TVLibrary/SetupTv/App.config             |     9 +-
 .../SetupTv/Properties/Resources.Designer.cs       |    12 +-
 .../TVLibrary/SetupTv/Properties/Resources.resx    |     9 +-
 .../SetupTv/Resources/sqlite370_banner.gif         |   Bin 0 -> 5452 bytes
 .../SetupTv/SetupDatabaseForm.Designer.cs          |   117 +-
 TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.cs   |   254 +-
 TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.resx |     4 +-
 TvEngine3/TVLibrary/SetupTv/SetupTv.csproj         |    37 +-
 TvEngine3/TVLibrary/SetupTv/Startup.cs             |    15 +-
 .../TVLibrary/SetupTv/create_sqlite_database.sql   |   357 +
 .../TVLibrary/SetupTv/delete_sqlite_database.sql   |     1 +
 .../TVDatabase/references/Gentle.Common.dll        |   Bin 69632 -> 65536 bytes
 .../TVDatabase/references/Gentle.Framework.dll     |   Bin 131072 -> 126976 bytes
 .../references/Gentle.Provider.Firebird.dll        |   Bin 40960 -> 40960 bytes
 .../references/Gentle.Provider.MySQL.dll           |   Bin 24576 -> 24576 bytes
 .../references/Gentle.Provider.SQLServer.dll       |   Bin 40960 -> 40960 bytes
 TvEngine3/TVLibrary/TvService/App.config           |     5 +-
 TvEngine3/TVLibrary/TvService/TvService.csproj     |    11 +-
 81 files changed, 37928 insertions(+), 93 deletions(-)
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Common.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.dll.config
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.DB2.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Firebird.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Jet.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.MySQL.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Oracle.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.OracleODP.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.PostgreSQL.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServer.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServerCE.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLite.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Sybase.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SybaseASA.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Output/Release/System.Data.SQLite.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Common/Gentle.Common.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/app.config
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework/Gentle.Framework.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.DB2/Gentle.Provider.DB2.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Firebird/Gentle.Provider.Firebird.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Jet/Gentle.Provider.Jet.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.MySQL/Gentle.Provider.MySQL.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Oracle/Gentle.Provider.Oracle.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.OracleODP/Gentle.Provider.OracleODP.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.PostgreSQL/Gentle.Provider.PostgreSQL.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServer/Gentle.Provider.SQLServer.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServerCE/Gentle.Provider.SQLServerCE.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/app.config
 delete mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/lib/System.Data.SQLite.DLL
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/packages.config
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Sybase/Gentle.Provider.Sybase.xml
 create mode 100644 Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SybaseASA/Gentle.Provider.SybaseASA.xml
 create mode 100644 TvEngine3/TVLibrary/SetupTv/39_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/40_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/41_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/42_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/43_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/44_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/45_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/46_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/47_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/48_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/49_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/50_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/51_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/52_upgrade_sqllite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/53_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/54_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/55_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/56_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/57_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/58_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/59_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/60_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/61_upgrade_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/Resources/sqlite370_banner.gif
 create mode 100644 TvEngine3/TVLibrary/SetupTv/create_sqlite_database.sql
 create mode 100644 TvEngine3/TVLibrary/SetupTv/delete_sqlite_database.sql

diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Common.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Common.xml
new file mode 100644
index 0000000..d76be73
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Common.xml
@@ -0,0 +1,2596 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Common</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Common.CacheContentType">
+            <summary>
+            Enumeration of possible content types in the cache. Every content type has
+            its own HybridDictionary in order to increase performance for sequential
+            operations (such as when invoking CacheManager.ClearByType).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheContentType.Query">
+            <summary>
+            Queries and query results.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheContentType.Entity">
+            <summary>
+            Entities (and all other types).
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CacheManager">
+            <summary>
+            Manager class uses to interface with the underlying cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Get(System.String)">
+            <summary>
+            Retrieve an entry from the cache using the specified key.
+            </summary>
+            <param name="key">The key linked to the cache entry.</param>
+            <returns>The cached object (or null if no entry was found).</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Insert(Gentle.Common.ICacheKeyProvider)">
+            <summary>
+            Insert an entry into the cache using <see cref="F:Gentle.Common.CacheStrategy.Temporary"/>.
+            </summary>
+            <param name="obj">The item to add to the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Insert(System.String,System.Object)">
+            <summary>
+            Insert an entry into the cache using <see cref="F:Gentle.Common.CacheStrategy.Temporary"/>.
+            </summary>
+            <param name="key">The key used to find the entry again.</param>
+            <param name="value">The item to add to the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Insert(System.String,System.Object,Gentle.Common.CacheStrategy)">
+            <summary>
+            Insert an entry into the cache using the specified <see cref="T:Gentle.Common.CacheStrategy"/>.
+            </summary>
+            <param name="key">The key used to find the entry again.</param>
+            <param name="value">The item to cache.</param>
+            <param name="strategy">The cache strategy to use for lifetime management. Possible
+            values are Never, Temporary or Permanent.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Remove(System.String)">
+            <summary>
+            Remove an entry from the cache.
+            </summary>
+            <param name="key">The key used to find the entry to remove.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Remove(System.Object[])">
+            <summary>
+            Forcefully remove one or more entries from the cache. Note that this
+            is currently a O(n^2) operation (i.e. it might be slow).
+            </summary>
+            <param name="objects">The objects to remove from the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Remove(System.Collections.IList)">
+            <summary>
+            Forcefully remove one or more entries from the cache. Note that this
+            is currently a O(n^2) operation (i.e. it might be slow).
+            </summary>
+            <param name="objects">The list of objects to remove from the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear(System.String)">
+            <summary>
+            Clear all entries belonging to the specified scope from the cache. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear(System.String,Gentle.Common.CacheContentType)">
+            <summary>
+            Clear all entries belonging to the specified scope from the cache. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear">
+            <summary>
+            Clear all entries in all scopes from the cache. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear(System.Int32)">
+            <summary>
+            Clear all entries belonging to the specified thread from the cache. The thread
+            identity corresponds to the value of thread.GetHashCode(). Note that this method
+            only works for threads that do not have a name.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.ClearQueryResultsByType(System.Type)">
+            <summary>
+            Clear information on query results for select/count queries on the specified type. 
+            This method is used by Gentle to invalidate obsolete query results when objects 
+            of the given type are inserted or removed.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetCount(System.String)">
+            <summary>
+            Return the number of items currently in the cache. The cache store to use is determined from
+            the scope parameter (combined with the global UniqingScope setting). If null is passed this
+            method returns the same as the Count property (current scope).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetCount(System.String,Gentle.Common.CacheContentType)">
+            <summary>
+            Return the number of items currently in the cache. The cache store to use is determined from
+            the scope parameter (combined with the global UniqingScope setting). If null is passed this
+            method returns the same as the Count property (current scope).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheManager.Count">
+            <summary>
+            Return the number of items currently in the cache. Only items for the current UniqingScope 
+            will be counted.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheManager.UniqingScope">
+            <summary>
+            The global scope setting used to separate items in the cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetScopeDelimiter(System.String)">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            supplied id is used instead of the normal scope delimitor (this
+            is useful if you wish to clear the cache for another thread or
+            web session than your own).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetScopeDelimiter">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            returned value is valid for this thread or web session only.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CacheStrategy">
+            <summary>
+            This enumeration is used to apply a caching strategy to objects.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheStrategy.Never">
+            <summary>
+            This value indicates that caching is disabled.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheStrategy.Temporary">
+            <summary>
+            This value indicates that caching is enabled, and that cached objects may be
+            collected and released at will by the garbage collector. 
+            This is the default, but can be overridden by setting the 
+            Options/Cache/DefaultCacheStrategy key in the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheStrategy.Permanent">
+            <summary>
+            This value indicates that caching is enabled, and that cached objects may not
+            be garbage collected. The developer must manually ensure that objects are 
+            removed from the cache when they are no longer needed.
+            This strategy is applied to the default PersistenceBroker instance used by
+            the Broker class in order to ensure it is never garbage collected.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ICacheKeyProvider">
+            <summary>
+            This interface should be implemented by all types that are cached. It allows the cache
+            to identify the key for the object which speeds up removal dramatically.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.ICacheKeyProvider.CacheKey">
+            <summary>
+            The key used to identify the item in the cache.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CacheEntry">
+            <summary>
+            This class is used to wrap entries stored in the cache.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Lock">
+            <summary>
+            The reader-writer lock to use when accessing this CacheStore instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Count">
+            <summary>
+            Returns the number of items currently stored in the cache. Accessing this property
+            causes a check of all items in the cache to ensure collected items are not counted.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Item(System.String)">
+            <summary>
+            Indexer for accessing or adding cache entries.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Item(System.String,Gentle.Common.CacheStrategy)">
+            <summary>
+            Indexer for adding a cache item using the specified strategy.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Insert(System.String,System.Object)">
+            <summary>
+            Insert a collectible object into the cache.
+            </summary>
+            <param name="key">The cache key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Insert(System.String,System.Object,Gentle.Common.CacheStrategy)">
+            <summary>
+            Insert an object into the cache using the specified cache strategy (lifetime management).
+            </summary>
+            <param name="key">The cache key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="strategy">The strategy to apply for the inserted item (use Temporary for objects 
+            that are collectible and Permanent for objects you wish to keep forever).</param>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Get(System.Object)">
+            <summary>
+            Retrieves an entry from the cache using the given key. If the entry exists but has
+            been collected then this method will also remove the item from the cache by temporarily
+            upgrading the supplied lock to a writer lock.
+            </summary>
+            <param name="key">The cache key of the item to retrieve.</param>
+            <returns>The retrieved cache item or null if not found.</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Remove(System.Object)">
+            <summary>
+            Removes the object associated with the given key from the cache.
+            </summary>
+            <param name="key">The cache key of the item to remove.</param>
+            <returns>The item removed from the cache or null if nothing was removed.</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.RemoveObject(System.Object)">
+            <summary>
+            Removes the given object from the cache.
+            </summary>
+            <param name="instance">The object to remove.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Clear">
+            <summary>
+            Removes all entries from the cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.ClearCollected">
+            <summary>
+            Process all items in the cache and remove entries that refer to collected items.
+            </summary>
+            <returns>The number of live cache entries still in the cache.</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.ToString">
+            <summary>
+            This method returns a string with information on the cache contents (number of contained objects).
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.UniqingScope">
+            <summary>
+            This enumeration is used to select the scope within which to ensure 
+            object uniqing. This is only appliccable when object caching is enabled.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.UniqingScope.WebSession">
+            <summary>
+            This value indicates that objects are uniqued within the scope of an ASP.NET
+            web session. If no session exists Application scope is used.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.UniqingScope.Thread">
+            <summary>
+            This value indicates that objects are uniqued within a thread. This is the
+            default scope. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.UniqingScope.Application">
+            <summary>
+            This value indicates that objects are uniqued within an application. It is
+            up to the application developer to ensure thread safety.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigKeyPresence">
+            <summary>
+            Enumeration of configuration key requirements (mandatory or optional).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigKeyPresence.Mandatory">
+            <summary>
+            This value is used to mark required configuration keys. An exception will
+            be thrown if the key is not found during configuration of a type or instance.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigKeyPresence.Optional">
+            <summary>
+            This value is used to mark optional configuration keys. No exception will
+            be thrown if the key is missing from the configuration file.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigurationAttribute">
+            <summary>
+            Attribute with which to decorate members that need configuring. The configuration 
+            subsystem automatically converts the value to the proper type of the target. If
+            this attribute is used on a method then the method will be called once for every
+            node matching the specified XmlNodePath (refer to <see cref="T:Gentle.Common.CallbackTarget"/> for 
+            additional information on this).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationAttribute.xmlNodePath">
+            <summary>
+            The XML path to the node containing the configuration value(s).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationAttribute.requiredParameters">
+            <summary>
+            The number of callback method parameters whose presence is required in order
+            for the method to be eligible for invocation. Only parameters after this 
+            number of parameters will be considered for null or default value substition.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationAttribute.keyPresenceRequirement">
+            <summary>
+            This denotes whether the configuration key used for a configuration target
+            is optional or mandatory. When mandatory (the default) an exception is raised 
+            if the specified key is not found in the configuration file.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationAttribute.#ctor(System.String)">
+            <summary>
+            Creates a new ConfigurationAttribute using the given path as the XPath
+            to the target node in the configuration tree. The node must be present or an
+            exception will be raised.
+            </summary>
+            <param name="xmlNodePath">The XPath to the node. This should always start with the
+            root node "Gentle.Framework" (this is also true when the .NET configuration file
+            is used instead of Gentle.config).</param>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationAttribute.#ctor(System.String,Gentle.Common.ConfigKeyPresence)">
+            <summary>
+            Creates a new ConfigurationAttribute using the given path as the XPath
+            to the target node in the configuration tree. The node must be present or an
+            exception will be raised.
+            </summary>
+            <param name="xmlNodePath">The XPath to the node. This should always start with the
+            root node "Gentle.Framework" (this is also true when the .NET configuration file
+            is used instead of Gentle.config).</param>
+            <param name="keyPresenceRequirement">The presence requirement of the specified key.
+            Refer to <see cref="T:Gentle.Common.ConfigKeyPresence"/> for the available options.</param>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationAttribute.XmlNodePath">
+            <summary>
+            The XML path to the node containing the configuration value(s).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationAttribute.RequiredParameters">
+            <summary>
+            The number of callback method parameters whose presence is required in order
+            for the method to be eligible for invocation. Only parameters after this 
+            number of parameters will be considered for null or default value substition.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationAttribute.KeyPresenceRequirement">
+            <summary>
+            This denotes whether the configuration key used for a configuration target
+            is optional or mandatory. When mandatory (the default) an exception is raised 
+            if the specified key is not found in the configuration file.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigurationMap">
+            <summary>
+            This class maintains information on the configurable elements of a class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationMap.#ctor(System.Type)">
+            <summary>
+            Construct a new ConfigurationMap for the given type. This involves reflecting 
+            on the given type to find all static and instance members carrying 
+            the <see cref="T:Gentle.Common.ConfigurationAttribute"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationMap.Configure(System.Collections.IList,System.Object)">
+            <summary>
+            Configure all targets in the specified object using the given ElementTree 
+            as source. If a Type is passed in obj, static members will be configured.
+            If an object instance is passed in obj, instance members will be configured.
+            </summary>
+            <param name="handlers">The list of handlers providing the source values</param>
+            <param name="obj">The object to be configured</param>
+        </member>
+        <member name="T:Gentle.Common.Configurator">
+            <summary>
+            This class serves as the access point for classes wishing to interact with
+            the configuration subsystem.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Configurator.#ctor">
+            <summary>
+            Private constructor to prevent instances of static class
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddSectionHandler(System.String,System.String)">
+            <summary>
+            This method creates a configuration handler for the specified section
+            of the standard .NET configuration file.
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="sectionName">The section name with which the GentleSectionHandler
+            has been declared in the .NET configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddSectionHandler(System.String)">
+            <summary>
+            This method creates a configuration handler for the specified section
+            of the standard .NET configuration file.
+            </summary>
+            <param name="sectionName">The section name with which the GentleSectionHandler
+            has been declared in the .NET configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddFileHandler(System.String,System.String)">
+            <summary>
+            This method creates a configuration handler for the specified file name. The
+            file name must not include path information (Gentle will search for it in specific
+            predefined locations).
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="fileName">The name of the configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddFileHandler(System.String)">
+            <summary>
+            This method creates a configuration handler for the specified file name. The
+            file name must not include path information (Gentle will search for it in specific
+            predefined locations).
+            </summary>
+            <param name="fileName">The name of the configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddExternalHandler(System.String,System.Xml.XmlNode)">
+            <summary>
+            This method creates a configuration handler for the given XML fragment,
+            which (if valid) will be used as configuration source.
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="root">The root node of the XML fragment to use as 
+            configuration source.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddExternalHandler(System.Xml.XmlNode)">
+            <summary>
+            This method creates a configuration handler for the given XML fragment,
+            which (if valid) will be used as configuration source.
+            </summary>
+            <param name="root">The root node of the XML fragment to use as 
+            configuration source.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddStreamHandler(System.String,System.IO.Stream)">
+            <summary>
+            This method creates a configuration handler for the specified stream.
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="stream">The stream from which to read the configuration XML document/snippet.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddStreamHandler(System.IO.Stream)">
+            <summary>
+            This method creates a configuration handler for the specified stream.
+            </summary>
+            <param name="stream">The stream from which to read the configuration XML document/snippet.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.String,System.Object)">
+            <summary>
+            Configure all targets in the specified instance.
+            </summary>
+            <param name="configStoreName">The name of the handler to use as configuration source.
+            If null is given, Gentle's configuration store will be used (effectively this means
+            one of the automatically registered handlers).</param>
+            <param name="instance">The object to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.Object)">
+            <summary>
+            Configure all targets in the specified instance.
+            </summary>
+            <param name="instance">The object to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.String,System.Type)">
+            <summary>
+            Configure all targets in the specified type (static members).
+            </summary>
+            <param name="configStoreName">The name of the handler to use as configuration source.
+            If null is given, Gentle's configuration store will be used (effectively this means
+            one of the automatically registered handlers).</param>
+            <param name="type">The type to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.Type)">
+            <summary>
+            Configure all targets in the specified type (static members).
+            </summary>
+            <param name="type">The type to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.GetKey(System.String,System.String)">
+            <summary>
+            Direct accessor for obtaining a specific value from a configuration store.
+            </summary>
+            <param name="configStoreName">The named configuration store to use or null for Gentle's default store.</param>
+            <param name="configKeyPath">The XPath to the configuration value (element or attribute).</param>
+            <returns>The value of the given key or null if nothing was found.</returns>
+        </member>
+        <member name="M:Gentle.Common.Configurator.InitializeHandlers">
+            <summary>
+            This method creates the default configuration handlers provided 
+            by Gentle itself.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.Configurator.IsLoggingEnabled">
+            <summary>
+            Accessor to turn logging on or off. This property is updated when the configuration 
+            is being accessed.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.Configurator.HandlerCount">
+            <summary>
+            Returns the number of valid registered configuration handlers. Only the first handler
+            is used used to obtain configuration options, but if HandlerCount is 0 then Gentle
+            has not been able to find any valid configuration source.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigurationHandler">
+            <summary>
+            Abstract base class for all configuration handlers. A handler encapsulates the 
+            specifics of extracting the Gentle configuration segment from a backend store,
+            such as the file system or another configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationHandler.root">
+            <summary>
+            The root node of the Gentle configuration fragment.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationHandler.#ctor(System.Xml.XmlNode)">
+            <summary>
+            Constructor used to create a handler when an XML fragment is passed 
+            to the Configurator class.
+            </summary>
+            <param name="root">The root configuration node.</param>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationHandler.IsValid">
+            <summary>
+            Determines whether this section handler has access to a valid configuration store
+            and was able to read the required information from it.
+            </summary>
+            <returns>True if this handler can be used as settings input, false otherwise.</returns>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationHandler.XmlRoot">
+            <summary>
+            Obtains the root node of the configuration fragment from the handler.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationHandler.GetNode(System.String)">
+            <summary>
+            Obtains the requested configuration node from the tree.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationHandler.GetNodes(System.String)">
+            <summary>
+            Obtains the requested configuration node from the tree.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.FileHandler">
+            <summary>
+            This class is a handler for the Gentle.config file, responsible for locating and
+            loading the file (by searching a list of predefined relative paths).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.APPSETTINGS_FILE">
+            <summary>
+            The key used to lookup a custom config file location in the standard .NET configuration file.
+            If this key is present the specified filename will be used before searching elsewhere.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.APPSETTINGS_FOLDER">
+            <summary>
+            The key used to lookup a custom config file location in the standard .NET configuration file.
+            If this key is present the specified folder will be searched before any other folder.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.CONFIG_FILENAME">
+            <summary>
+            Preconfigured filename that this class will look for when loading the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.CONFIG_FOLDERS">
+            <summary>
+            List of folders that Gentle will search (in addition to any custom folder specified in the
+            regular .NET configuration file (usually App.config or Web.config). Folders are searched in
+            order of appearance. All paths are expanded relative to the location of the Gentle assembly.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.localConfigFilePath">
+            <summary>
+            The full local path and file name of the configuration file. This variable is initialized
+            once the full location and filename has been determined. Thus, it contains the local file 
+            path (and name) of the file this handler is using.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileHandler.#ctor">
+            <summary>
+            Constructor to use when Gentle should search for a file called Gentle.config
+            in a number of predefined locations.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileHandler.#ctor(System.String)">
+            <summary>
+            Constructor to use when specifying a path and filename manually.
+            </summary>
+            <param name="file">The full local path and filename to the 
+            configuration file.</param>
+        </member>
+        <member name="T:Gentle.Common.GentleSectionHandler">
+            <summary>
+            This class is a handler for the standard .NET config files (App.config or Web.config). The
+            section name to use is "gentle" and is hardcoded in the HandlerRegistry class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleSectionHandler.#ctor">
+            <summary>
+            Create a new .NET section handler for obtaining settings from App.config or Web.config.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
+            <summary>
+            Implementaton of the .NET configuration file section handler. This is called by .NET
+            when the associated section is fetched.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.SystemSettings">
+            <summary>
+            Placeholder class for Gentle.NET global configuration settings
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.Environment">
+            <summary>
+            A unique string identifying the environment the current application is running in. The
+            default value is "development". This is used to support storing multiple multiple
+            configurations for different deployment environments in the same config file.
+            The value of the environment is itself read from the config file using the path
+            "MachineName/WebPath" (when not in web mode, WebPath is part of the directory path
+            from which the application was started).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.MachineName">
+            <summary>
+            The Windows name of the current host.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.WebPath">
+            <summary>
+            The web application path this application is running as. This is usually the same
+            as the name of the IIS virtual directory. When not a web application, a fragment
+            of the path to the current directory is used.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.WebSessionID">
+            <summary>
+            The session id of the current web session, or an empty string if no web session
+            has been established.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.ApplicationName">
+            <summary>
+            The name of the application.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.ThreadIdentity">
+            <summary>
+             
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.WindowsIdentity">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.IsWindowsPlatform">
+            <summary>
+            True if the underlying OS is a Windows environment.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CallbackTarget">
+            <summary>
+            This class is used for configuration elements that result in a method call. 
+            Use this target when you need to obtain a list of elements from the configuration
+            file; the callback method will be called once for every node matching the path.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CallbackTarget.Configure(System.Object,System.Xml.XmlNode)">
+            <summary>
+            Use the supplied XmlNode to configure the target object. This configuration target 
+            performs a method callback on the target object, and uses the attributes of the XmlNode
+            as parameters. The method parameter names must match the names of the node attributes 
+            (a leading underscore will be stripped to permit using C# reserved words in the XML file). 
+            This method does not check whether the node matches the requested environment.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="node">The node containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.CallbackTarget.Configure(System.Object,System.Xml.XmlNodeList)">
+            <summary>
+            Use the supplied XmlNodes to configure the target object. This method filters the
+            given list of nodes by environment before applying them individually. All nodes 
+            matching the current environment AND all nodes not limited by an environment
+            attribute are used for configuration.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="nodes">The list of nodes containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.ElementTarget.IsEnvironment(System.Xml.XmlNode,System.String)">
+            <summary>
+            Method called to determine if an XmlNode carries an "environment" attribute with the
+            specified value. This is used to limits node visibility to a certain environment.
+            </summary>
+            <param name="node">The node to check.</param>
+            <param name="environment">The environment value to check for.</param>
+            <returns>True if the attribute named "environment" is found and has the value given in
+            the environment parameter, false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Common.ElementTarget.IsCommonEnvironment(System.Xml.XmlNode)">
+            <summary>
+            Method called to determine if an XmlNode carries an "environment" attribute to limits
+            its visibility to a certain environment.
+            </summary>
+            <param name="node">The node to check.</param>
+            <returns>True if no attribute named "environment" is found, false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Common.ElementTarget.Configure(System.Object,System.Xml.XmlNodeList)">
+            <summary>
+            Use the supplied XmlNodes to configure the target object. This method filters the given
+            list of nodes by environment before applying them individually.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="nodes">The list of nodes containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.FieldTarget.Configure(System.Object,System.Xml.XmlNode)">
+            <summary>
+            Use the supplied XmlNode to configure the target object. This method does not check
+            whether the node matches the requested environment.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="node">The node containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.PropertyTarget.Configure(System.Object,System.Xml.XmlNode)">
+            <summary>
+            Use the supplied XmlNode to configure the target object. This method does not check
+            whether the node matches the requested environment.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="node">The node containing the configuration value(s).</param>
+        </member>
+        <member name="T:Gentle.Common.LevelAttribute">
+            <summary>
+            This attribute is used to decorate the <see cref="T:Gentle.Common.Error"/> enumeration with 
+            a predefined severity level. This allows the framework to handle errors
+            differently depending on their severity (such as suppressing logging or
+            by handling them internally). This is particularly useful when moving from
+            development/testing to production, where you want a more resilient system.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.LevelAttribute.#ctor(Gentle.Common.Severity)">
+            <summary>
+            Create a new Level attribute.
+            </summary>
+            <param name="severity">The severity to associate with this LevelAttribute instance.</param>
+        </member>
+        <member name="P:Gentle.Common.LevelAttribute.Severity">
+            <summary>
+            The severity associated with this attribute.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.MessageAttribute">
+            <summary>
+            This attribute is used to decorate the <see cref="T:Gentle.Common.Error"/> enumeration with 
+            a predefined error message. The associated message will be used as format
+            string for the error message when a GentleException with this Error is throw.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MessageAttribute.#ctor(System.String)">
+            <summary>
+            Create a new Message attribute.
+            </summary>
+            <param name="message">The message to associate with this attribute instance.</param>
+        </member>
+        <member name="P:Gentle.Common.MessageAttribute.Message">
+            <summary>
+            The message (format string) associated with this attribute.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.MessageAttribute.ArgumentCount">
+            <summary>
+            The number of format string parameters required to format a message using
+            the message associated with this attribute.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.Check">
+            <summary>
+            <p>This helper class is used throughout the framework. It provides assertion methods,
+            standardized error reporting and automatic exception creation. The exception type
+            raised is hardcoded in the static constructor.</p>
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Check.verbosity">
+            <summary>
+            This defines the minimum severity level at which exceptions will be
+            logged. All exceptions with a lower severity will not be logged.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Check.frailty">
+            <summary>
+            This defines the minimum severity level at which exceptions will be
+            re-thrown once logging is done. All exceptions with a lower severity
+            will be silently "swallowed" - use with caution!
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Check.LogCategories">
+            <summary>
+            Log topic categories enabled (default is none).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.RegisterLogCategory(Gentle.Common.LogCategories,System.Boolean)">
+            <summary>
+            Callback method for configuration options to turn logging in the available
+            categories on or off.
+            </summary>
+            <param name="name">The name of the logging category.</param>
+            <param name="enabled">True if logging should be enabled for the 
+            specified category. Note that subsequent entries in the config
+            file may override earlier definitions.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.IsLogEnabled(Gentle.Common.LogCategories)">
+            <summary>
+            Call this method to determine whether the passed category (or combination
+            of categories) is enabled.
+            </summary>
+            <param name="category">The category or categories to process.</param>
+            <returns>True if all of the specified categories are enabled.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.FailWith(Gentle.Common.Severity,Gentle.Common.Error,System.Exception,System.String)">
+            <summary>
+            Internal method performing error logging and throwing of exceptions.
+            </summary>
+            <param name="severity">The severity of the error.</param>
+            <param name="error">The error classification.</param>
+            <param name="e">The exception leading to this error (if any).</param>
+            <param name="msg">The error message for this error.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.Fail(System.String,System.Object[])">
+            <summary>
+            This method formats and logs an error message, then raises a GentleException.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Fail(System.Exception,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method formats and logs an error message, then raises a GentleException.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Fail(Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method formats and logs an error message, then raises a GentleException.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IsTrue(System.Boolean,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IsTrue(System.Boolean,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Verify(System.Boolean,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Verify(System.Boolean,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyEquals(System.Object,System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyEquals(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNotNull(System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNotNull(System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyIsNull(System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyIsNull(System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNull(System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNull(System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IfNull(System.Object,System.Object)">
+            <summary>
+            This method is used to select the first object not being null from a list of 2 objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IsCalledFrom(System.String,System.Exception)">
+            <summary>
+            Check whether the specified tracer string occurs in the stack trace of the call
+            leading to the exception. This method excludes the last three method calls from
+            the stack trace analysis, assuming that the exception was provoked by a call
+            to one of the Check.Verify or Check.Fail methods.
+            </summary>
+            <param name="tracer">The case-sensitive string to look for in the stack trace.
+            Usually this will be "Class.Method" or a similar fragment.</param>
+            <param name="e">The exception whose call stack is to be inspected.</param>
+            <returns>True if the tracer is found in the stack trace.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.IsCalledFrom(System.String,System.Exception,System.Int32)">
+            <summary>
+            Check whether the specified tracer string occurs in the stack trace of the call
+            leading to the exception.
+            </summary>
+            <param name="tracer">The case-sensitive string to look for in the stack trace.
+            Usually this will be "Class.Method" or a similar fragment.</param>
+            <param name="e">The exception whose call stack is to be inspected.</param>
+            <param name="skipFrames">Skip this number of stack frames from the search.</param>
+            <returns>True if the tracer is found in the stack trace.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.IsCalledFrom(System.String,System.Diagnostics.StackTrace)">
+            <summary>
+            Check whether the specified tracer string occurs in the given stack trace.
+            </summary>
+            <param name="tracer">The case-sensitive string to look for in the stack trace.
+            Usually this will be "Class.Method" or a similar fragment.</param>
+            <param name="stackTrace">The stack trace to be inspected.</param>
+            <returns>True if the tracer is found in the stack trace.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.GetExternalCaller(System.Exception)">
+            <summary>
+            Determine and return information on the calling class, that is, the class making
+            the initial call to the Check class. If an exception is passed, the stack trace
+            leading to that exception will be used instead.
+            </summary>
+            <returns>The class executing the current call to the Check class.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.Log(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String,System.Object[])">
+            <summary>
+            Log a message.  The current logging level is used to determine
+            	if the message is appended to the configured appender
+            	or if it is ignored.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">The severity of the logging message.</param>
+            <param name="errorMsg">A concise description of the problem encountered.</param>
+            <param name="args">Variable values that are to be captured with the logging statement.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.Log(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String)">
+            <summary>
+            Log a message.  The specified <see cref="T:Gentle.Common.Severity"/> level is compared against
+            the current logging levels to determine if the message is logged or ignored.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">The severity level of the logging message.</param>
+            <param name="msg">The message to log.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.Log(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String,System.Exception)">
+            <summary>
+            Log a message.  The specified <see cref="T:Gentle.Common.Severity"/> level is compared against
+            the current logging levels to determine if the message is logged or ignored.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">The severity level of the logging message.</param>
+            <param name="msg">The message to log.</param>
+            <param name="e">An exception to associate with the error being logged.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.LogMessage(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String,System.Exception)">
+            <summary>
+            Log a message.  Actually perform the logging message to the
+            	appender specifified in the configuration file.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">A <see cref="T:Gentle.Common.Severity"/> level which is used to determine if 
+            the message should be logged or ignored.</param>
+            <param name="msg">A string value describing the message.</param>
+            <param name="e">An exception that has occurred.  If no exception has occurred, use <code>null</code>.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.LogDebug(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Convenience methods for logging with a predefined severity level.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.LogInfo(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Convenience methods for logging with a predefined severity level.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.LogWarning(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Convenience methods for logging with a predefined severity level.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.LogError(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Log an error message. The error message is delegated to the log4net 
+            appender(s) in the app config file.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="errorMsg">A description of what has occurred.</param>
+            <param name="args">Variable values that were present at
+            the time the error occurred.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.LogError(Gentle.Common.LogCategories,System.Exception)">
+            <summary>
+            Log an error message. Include the exception that has occurred
+            in the text of the error message.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="e">The exception to be logged.</param>
+        </member>
+        <member name="T:Gentle.Common.Error">
+            <summary>
+            <p>This enumeration lists all common error conditions, their severity and a 
+            default error message.</p>
+            <p>Unspecified errors or errors with no severity attribute are treated as critical.</p>
+            <p>At this time almost all errors have been brainlessly classified as critical pending
+            a review at some future time.</p>
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.DatabaseUnavailable">
+            <summary>
+            This error is used when no connection to the database server could be
+            established. This is usually caused by errors in the connection
+            string, but can also be due to network or database server problems.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.DeveloperError">
+            <summary>
+            This error is used when an error in the use of Gentle was detected 
+            (e.g. invalid use of or missing custom attributes). No default message
+            is provided for this error (if used via the Check class the first
+            argument will be used as format string for remaining arguments).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.EmptyListParameter">
+            <summary>
+            This error is used when a list parameter with content (i.e. not null
+            and with at least one element) was expected.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidNullValue">
+            <summary>
+            This error is used when a DateTime has an invalid NullValue.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidProviderLibrary">
+            <summary>
+            This error is used when Gentle fails to load a provider library defined
+            in the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidRequest">
+            <summary>
+            This error is used when Gentle detects an invalid request, such as trying to
+            execute a missing stored procedure. It is also used when a request cannot be
+            satisfied (e.g. trying to obtain an SqlStatement from SqlBuilder before all
+            required information has been set).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidType">
+            <summary>
+            This error is used when an object is added to a TypedArrayList, and the objects
+            type does not match the type specified when the list was created.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.MissingConfigurationKey">
+            <summary>
+            This error is used when Gentle fails to find a matching node (for a required
+            setting) in the configuration store.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoColumnForMember">
+            <summary>
+            This error is used when Gentle finds a member (field or property) carrying
+            the TableColumn attribute that references a non-existing column.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoDefaultProvider">
+            <summary>
+            This error is used when the Broker class is used and no DefaultProvider was
+            defined in the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoIdentityReturned">
+            <summary>
+            This error is used when a row identity was expected but none was received. 
+            This usually only happens if the analyzer has been disabled (or is incomplete 
+            for the provider used) and the table definition is out of sync with the TableName
+            attribute definition used.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoNewConnection">
+            <summary>
+            This error is used when no new connection to the database server could be
+            established. This is usually caused by a resource leak that drains the
+            connection pool before the GC can reclaim them, but can also be caused
+            by a variety of other problems.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoObjectMapForTable">
+            <summary>
+            This error is used when no type is associated with a table (the available
+            databases are enumerated by the analyzer when in "Full" mode). Errors of
+            this type can safely be ignored.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoProperty">
+            <summary>
+            This error is used when no member was found with the specified name. This usually
+            occurs due to spelling or case sensitivity errors in string parameters.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoPropertyForNotNullColumn">
+            <summary>
+            This error is used when a column is found that does not permit null values, yet the
+            type to which it maps does not have a member mapping to this column. This error is thrown
+            by the database analyzer in order to prevent later errors when trying to insert to the
+            table. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoProviders">
+            <summary>
+            This error is used when no database provider libraries were defined in the configuration.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoSuchParameter">
+            <summary>
+            This error is used when a non-existing query parameter is referenced. This usually occurs
+            due to spelling or case sensitivity errors.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoSuchRecord">
+            <summary>
+            This error is used when no matching database record was found. This can be
+            the result of a concurrency error or due to invalid parameter values.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoConfigStoreFound">
+            <summary>
+            This error is used when no configuration store could be found. Gentle tries to
+            obtain its configuration from both the standard .NET configuration file (using
+            the <see cref="T:Gentle.Common.GentleSectionHandler"/> class to read the &lt;gentle&gt; section)
+            and the standalone Gentle.config file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoSuchView">
+            <summary>
+            This error is used when a non-existing view is referenced. This usually occurs
+            due to spelling or case sensitivity errors in parameters from client-side code.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NotImplemented">
+            <summary>
+            This error is used when the requested method has not yet been implemented. 
+            This usually occurs due to incomplete development code being accessed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullParameter">
+            <summary>
+            This error is used when a null parameter is passed to a method that does not
+            permit null values. This usually occurs due to errors in client-side code.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullIdentity">
+            <summary>
+            This error is used when trying to set the identity value on a class, but the
+            class does not have an identity column.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullProperty">
+            <summary>
+            This error is used when a member was null, but a not-null value was required.
+            This usually occurs due to errors in client-side code.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullWithNoNullValue">
+            <summary>
+            This error is used when a column contained a null value and the corresponding
+            member does not permit null values. This usually occurs due to a missing NullValue
+            declaration on the TableColumn attribute of the member.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.PropertyReadOnly">
+            <summary>
+            This error is used when a property is read-only, but write access was required. This can
+            usually be corrected by moving the TableColumn attribute to the underlying member, or by
+            adding a setter for the property.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.PropertyWriteOnly">
+            <summary>
+            This error is used when a property is write-only, but read access was required. This can
+            usually be corrected by moving the TableColumn attribute to the underlying member, or by
+            adding a getter for the property.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.StatementError">
+            <summary>
+            This error is used when statement execution fails. This is usually due to syntax errors
+            in the specified SQL string.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnknownAssembly">
+            <summary>
+            This error is used when an assembly name cannot be resolved to an Assembly instance. This 
+            may occur due to missing project references or invalid location of the required DLL. When
+            the Inheritance attribute is used it may also occur due to invalid names in the 
+            database column storing the full type name.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnknownProvider">
+            <summary>
+            This error is used when a provider cannot be found in the list of registered providers.
+            This usually occurs due to a missing entry (or incorrect name) in the configuration file.   
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnknownTable">
+            <summary>
+            This error is used when a type references a table that does not exist. This usually
+            occurs due to spelling or case sensitivity errors in the declaration of the TableName
+            attribute.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnexpectedRowCount">
+            <summary>
+            This error is used when the returned number of rows does not match the expected count.
+            This can be due to concurrency (record changed by another process) or parameter value 
+            errors.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.Unspecified">
+            <summary>
+            This error is used for unclassified errors of all kinds.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedColumnType">
+            <summary>
+            This error is used when an unsupported database type is encountered during analysis
+            of the database schema.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedConfigStoreUri">
+            <summary>
+            This error is used when an explicit configuration file path (location of Gentle.config)
+            was specified in the AppSettings section of the .NET configuration file, yet the path
+            specified was not valid. This can be due to errors in the URI, an illegal path, or an
+            unsupported destination (only files are supported).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedDatabaseFunction">
+            <summary>
+            This error is used when an unsupported database function is called.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedPropertyType">
+            <summary>
+            This error is used when an unsupported member type is encountered. To correct the error
+            you must remove the TableColumn attribute, or move it to a member of a different type.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedType">
+            <summary>
+            This error is used when an unsupported type is passed as argument to a method that
+            required the type to be supported. This usually occurs due to a missing TableName 
+            attribute on the class declaration, but can also be remedied by having the class
+            implement the ITableName interface.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.ViewError">
+            <summary>
+            This error is used when an error occurred during generation of a custom view.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.Validation">
+            <summary>
+            This error is used when a business object contains an incorrect value.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.GentleException">
+            <summary>
+            The exception class thrown by classes in the Gentle.Framework namespace. Because
+            all new infomation resides in the ExceptionInfo descendant the Exception class itself
+            doesn't add anything new.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.GentleException.error">
+            <summary>
+            An enumeration value indicating the cause of the current exception.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleException.#ctor(Gentle.Common.Error,System.String)">
+            <summary>
+            Constructor taking an <see cref="P:Gentle.Common.GentleException.Error"/> and a custom message to go with the error. 
+            The framework consistently uses the <see cref="P:Gentle.Common.GentleException.Error"/> enumeration to classify 
+            raised exceptions.
+            </summary>
+            <param name="error">The Error condition leading to this exception</param>
+            <param name="msg">An additional message text</param>
+        </member>
+        <member name="M:Gentle.Common.GentleException.#ctor(Gentle.Common.Error,System.String,System.Exception)">
+            <summary>
+            Constructor taking an <see cref="P:Gentle.Common.GentleException.Error"/>, a custom message to go with the error
+            and the exception leading to this error. The framework consistently uses the 
+            <see cref="P:Gentle.Common.GentleException.Error"/> enumeration to classify raised exceptions.
+            </summary>
+            <param name="error">The Error condition leading to this exception</param>
+            <param name="msg">A specific message to go with the error</param>
+            <param name="e">An existing exception instance</param>
+        </member>
+        <member name="M:Gentle.Common.GentleException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Deserialization constructor (required for serializing exceptions)
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            ISerializable method used by the serialization engine to save custom fields
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleException.Error">
+            <summary>
+            The Error enum specifies the error class and is also used to obtain the message used.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleException.Severity">
+            <summary>
+            The severity of the error leading to this exception.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleException.ToString">
+            <summary>
+            Returns the current GentleException and all nested exceptions as a multiline string.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.GentleStatistics">
+            <summary>
+            Singleton used to store various statistical information (counters).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.CacheHits">
+            <summary>
+            Return the number of successful attempts at looking up something
+            in the cache.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.CacheMisses">
+            <summary>
+            Return the number of unsuccessful attempts at looking up something
+            in the cache.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.UniqingCount">
+            <summary>
+            Return the number of successful attempts at object uniqing. This
+            number effectively represents the number of object constructions
+            skipped due to a cache hit.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.SkippedQueries">
+            <summary>
+            Return the number of successful attempts at resolving a query
+            without contacting the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.CacheSize">
+            <summary>
+            Return the number of items currently in the cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleStatistics.Reset(Gentle.Common.LogCategories)">
+            <summary>
+            Reset all counters to 0.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleStatistics.LogStatistics(Gentle.Common.LogCategories)">
+            <summary>
+            Emit current statistics for the specified categories.
+            </summary>
+            <param name="category">The categories to emit statistics for.</param>
+        </member>
+        <member name="T:Gentle.Common.LogCategories">
+            <summary>
+            Enumeration of logging categories used by Gentle. These can be used to 
+            selectively enable or disable logging for the specified categories.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.None">
+            <summary>
+            Select none of the available categories.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecutionRead">
+            <summary>
+            Log execution of select statements and their parameters (before execution) and 
+            rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecutionWrite">
+            <summary>
+            Log execution of insert/update/delete statements and their parameters (before execution) 
+            and rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecutionOther">
+            <summary>
+            Log execution of all non-CRUD type of statements (than thand their parameters (before 
+            execution) and rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecution">
+            <summary>
+            Log execution of all types of statements and their parameters (before execution) and 
+            rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.Cache">
+            <summary>
+            Log successful cache hits, cache lookup misses and various other 
+            cache-related performance counters.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.Metadata">
+            <summary>
+            Log metadata information gathered from databases, attributes or XML files.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.General">
+            <summary>
+            Log general information (configuration errors and uncategorized logging).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.All">
+            <summary>
+            Select all available categories.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.Messages">
+            <summary>
+            Helper class for handling the formatting of error messages.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Messages.GetMsg(Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method creates a formatted error message constructed using the format 
+            string associated with the given error and the list of supplied arguments.
+            The number of arguments must match that of the format string.
+            </summary>
+            <param name="error">The error for which to return an error message.</param>
+            <param name="args">The arguments (if any) to use in formatting the message.</param>
+            <returns>The formatted error message.</returns>
+        </member>
+        <member name="T:Gentle.Common.Severity">
+            <summary>
+            This enumeration lists severity levels used to classify exceptions. The levels
+            have been loosely adapted from the UNIX syslog levels.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Debug">
+            <summary>
+            This severity level is used for messages containing debug information. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Info">
+            <summary>
+            This severity level is used for informational messages.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Warning">
+            <summary>
+            This severity level is used for warning messages.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Error">
+            <summary>
+            This severity level is used for error messages. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Critical">
+            <summary>
+            This severity level is used for error messages when the cause was of a critical nature.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Unclassified">
+            <summary>
+            This severity level is used for messages whose severity has not been classified. In most
+            cases this corresponds to the Debug classification.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.NamespaceDoc">
+            <summary>
+            <p>The <see cref="N:Gentle.Common"/> namespace contains code used by but not
+            specific to Gentle.</p><p></p>
+            <p>The TypedArrayList folder contains a typed version of the .NET Framework
+            ArrayList class. The advantage against the standard <see cref="T:System.Collections.ArrayList"/>
+            is, that the <see cref="T:Gentle.Common.TypedArrayList"/> could be bound to a DataGrid control without
+            restrictions.</p>
+            <p>Although it is possible to bind a standard ArrayList to a DataGrid control you will not be
+            able to add or remove rows or to sort the data because the standard ArrayList doesn't implement
+            the needed interfaces <see cref="T:System.ComponentModel.ITypedList"/> and
+            <see cref="T:System.ComponentModel.IBindingList"/>.</p>
+            <p>To make the binding more comfortable, the namespace contains some attributes which changes
+            the default behaviour of the binding process of the DataGrid control. If you use the attributes
+            you are able to</p><br />
+            <list type="bullet">
+              <item><description>define user defined column headers with the <see cref="T:Gentle.Common.Attributes.CaptionAttribute"/></description></item>
+              <item><description>allow / disallow sorting of specific columns with the <see cref="T:Gentle.Common.Attributes.AllowSortAttribute"/></description></item>
+              <item><description>hide specific columns with the <see cref="T:Gentle.Common.Attributes.VisibleAttribute"/></description></item>
+            </list>
+            <br />
+            <p>The code is based on the article "Sammelleidenschaften" in the dot.net Magazin 02/2003 by Thomas Fenske.</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.MemberAttributeInfo">
+            <summary>
+            Helper class used to store information on a member and the attributes it is decorated with.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MemberAttributeInfo.MemberInfo">
+            <summary>
+            The member (method, field, property, etc.) with which the attributes are associated.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MemberAttributeInfo.Attributes">
+            <summary>
+            The list of attributes found.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MemberAttributeInfo.#ctor(System.Reflection.MemberInfo,System.Collections.IList)">
+            <summary>
+            Create a new MemberAttributeInfo instance linking a MemberInfo object to the
+            attributes it is carrying.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.MemberAttributeInfo.Item(System.Int32)">
+            <summary>
+            Obtain one of the attributes associated with the MemberInfo.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.MethodDispatcher">
+            <summary>
+            Helper class for determining the best matching method from a set of available
+            methods. The best matching method is determined from the given set of parameters
+            on the call to <see cref="M:Gentle.Common.MethodDispatcher.Invoke(System.Object,System.Collections.Hashtable)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodDispatcher.#ctor(Gentle.Common.MethodInvoker)">
+            <summary>
+            Construct a new MethodDispatcher instance. Initially only a single method must be given,
+            however, to make full use of this class you may add additional candidate methods using
+            the <see cref="M:Gentle.Common.MethodDispatcher.AddInvoker(Gentle.Common.MethodInvoker)"/> method.
+            </summary>
+            <param name="invoker"></param>
+        </member>
+        <member name="M:Gentle.Common.MethodDispatcher.AddInvoker(Gentle.Common.MethodInvoker)">
+            <summary>
+            Add a method to the list of available methods for this method dispatcher.
+            </summary>
+            <param name="invoker">A MethodInvoker instance with information on the new method.</param>
+        </member>
+        <member name="M:Gentle.Common.MethodDispatcher.Invoke(System.Object,System.Collections.Hashtable)">
+            <summary>
+            Invoke the best available match (from a list of methods available) for the supplied parameters. 
+            If no method can be called using the supplied parameters, an exception is raised. Any exceptions
+            raised by the called method will be logged and then re-thrown.
+            </summary>
+            <param name="target">The object on which to invoke a method.</param>
+            <param name="parameters">A hashtable of parameter name/value pairs. All parameters given
+            must be used in the method call in order for a method to be considered.</param>
+            <returns>The return value of the invocation.</returns>
+        </member>
+        <member name="T:Gentle.Common.MethodInvokable">
+            <summary>
+            This class wraps a single invokable method call. It contains information
+            on the method to call as well as the parameters to use in the method call.
+            This intermediary class is used by the MethodDispatcher to select the best
+            match to call from a given set of available methods (and a single set of
+            parameter values).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MethodInvokable.MethodInvoker">
+            <summary>
+            The <see cref="F:Gentle.Common.MethodInvokable.MethodInvoker"/> wrapping the method to call.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MethodInvokable.MatchIndicator">
+            <summary>
+            A value indicating how good a match this is (for a given set of parameters). This value 
+            is used by the <see cref="T:Gentle.Common.MethodDispatcher"/> to decide which method to invoke from a 
+            set of choices.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MethodInvokable.ParameterValues">
+            <summary>
+            The parameter values used when invoking the method.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodInvokable.#ctor(Gentle.Common.MethodInvoker,System.Int32,System.Object[])">
+            <summary>
+            Construct a new MethodInvokable instance in preparation for executing
+            the actual method call.
+            </summary>
+            <param name="invoker">The <see cref="F:Gentle.Common.MethodInvokable.MethodInvoker"/> wrapping the method to call.</param>
+            <param name="matchIndicator">A value indicating how good a match this is (for a given
+            set of parameters). This value is used by the <see cref="T:Gentle.Common.MethodDispatcher"/> to decide
+            which method to invoke from a set of choices.</param>
+            <param name="parameterValues">The parameter values used when invoking the method.</param>
+        </member>
+        <member name="M:Gentle.Common.MethodInvokable.Invoke(System.Object)">
+            <summary>
+            Perform the actual method invocation.
+            </summary>
+            <param name="target">The object to call the method on.</param>
+            <returns>The return value of the method call.</returns>
+        </member>
+        <member name="T:Gentle.Common.MethodInvoker">
+            <summary>
+            Helper class used to store information on a particular method, and the
+            ability to execute calls on it (if supplied with valid parameters).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.#ctor(System.Reflection.MethodInfo,System.Int32)">
+            <summary>
+            Construct a new MethodInvoker instance.
+            </summary>
+            <param name="methodInfo">The <see cref="P:Gentle.Common.MethodInvoker.MethodInfo"/> for the method that this instance wraps.</param>
+            <param name="requiredParameters">The number of parameters (counting
+            from left to right) that are required to call the method. Any subsequent 
+            parameters may be substituted with a default value (if available) or null.</param>
+        </member>
+        <member name="P:Gentle.Common.MethodInvoker.MethodInfo">
+            <summary>
+            The <see cref="P:Gentle.Common.MethodInvoker.MethodInfo"/> for the method that this instance wraps.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.MethodInvoker.RequiredParameters">
+            <summary>
+            The number of parameters (counting from left to right) that are required 
+            to call the method. Any subsequent parameters may be substituted with a 
+            default value (if available) or null.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.SetDefaultValue(System.String,System.Object)">
+            <summary>
+            Store a default value for the given parameter. This value will be used if no
+            value has been supplied for the parameter, and it is not a required parameter.
+            </summary>
+            <param name="parameterName">The name (case-insensitive) of the parameter to 
+            look for.</param>
+            <param name="value">The default value to use when none is otherwise given.</param>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.PrepareInvoke(System.Collections.Hashtable)">
+            <summary>
+            Prepare a <see cref="T:Gentle.Common.MethodInvokable"/> instance for calling the underlying method
+            using the supplied parameters. If the call cannot be made using the given parameters,
+            null is returned.
+            </summary>
+            <param name="parameters">A hashtable of parameter name/value pairs.</param>
+            <returns>A <see cref="T:Gentle.Common.MethodInvokable"/> instance prepared for execution of the
+            method call.</returns>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.Invoke(System.Object,System.Object[])">
+            <summary>
+            Invoke the underlying method on the given target object using the supplied parameter values.
+            Any exception raised by performing the method call is logged and then exposed as-is.
+            </summary>
+            <param name="target">The object on which to invoke the method.</param>
+            <param name="parameterValues">The parameter values used to invoke the method.</param>
+            <returns>The return value of the invocation.</returns>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.Invoke(System.Object,System.Collections.Hashtable)">
+            <summary>
+            Invoke the underlying method on the given target object using the supplied parameter values.
+            Any exception raised by performing the method call is logged and then exposed as-is.
+            </summary>
+            <param name="target">The object on which to invoke the method.</param>
+            <param name="parameters">A hashtable of parameter name/value pairs.</param>
+            <returns>The return value of the invocation.</returns>
+        </member>
+        <member name="T:Gentle.Common.Reflector">
+            <summary>
+            Helper class for performing various reflection tasks, such as gathering information
+            on members and their custom attributes.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.DefaultCriteria">
+            <summary>
+            Search criteria encompassing all public and non-public members.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.InstanceCriteria">
+            <summary>
+            Search criteria encompassing all public and non-public instance members.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.StaticCriteria">
+            <summary>
+            Search criteria encompassing all public and non-public static members, including those of parent classes.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.AllCriteria">
+            <summary>
+            Search criteria encompassing all members, including those of parent classes.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindConstructors(System.Type)">
+            <summary>
+            Find and return a list of all available (non-abstract) constructors for the specified type.
+            </summary>
+            <param name="type">The type to reflect on</param>
+            <returns>A list of useable constructors</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindMembers(System.Reflection.BindingFlags,System.Type,System.Boolean,System.Type[])">
+            <summary>
+            Find and return a list of members for the specified type.
+            </summary>
+            <param name="criteria">The search criteria used to restrict the members included in the search</param>
+            <param name="type">The type to reflect on</param>
+            <param name="allowDuplicates">When true, multiple instances of the same attribute type are allowed 
+            in the result. When false, only the first instance found will be included</param>
+            <param name="attributeTypes">The list of attribute types to search for.</param>
+            <returns>A list of MemberAttributeInfo objects with information on the member and 
+            the attributes with which it is decorated</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindMember(System.Reflection.BindingFlags,System.String,System.Type)">
+            <summary>
+            Find a specific named member on the given type.
+            </summary>
+            <param name="criteria">The search criteria used to restrict the members included in the search</param>
+            <param name="name">The name of the member to find</param>
+            <param name="type">The type to reflect on</param>
+            <returns>A single MemberInfo instance of the first found match or null if no match was found</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindAttribute(System.Enum,System.Type)">
+            <summary>
+            Find a specific attribute type on the given enumeration instance.
+            </summary>
+            <param name="instance">An enumeration value on which to search for the attribute.</param>
+            <param name="attributeType">The attribute type to search for.</param>
+            <returns>An instance of the attribute type specified if it was found on the instance.</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindAttributes(System.Boolean,System.Reflection.MemberInfo,System.Type[])">
+            <summary>
+            Helper method used to find attributes associated with the specified member.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Reflector.GetValue(System.Reflection.MemberInfo,System.Object)">
+            <summary>
+            Return the value of the specified member on the given instance.
+            </summary>
+            <param name="memberInfo">The member whose value should be extracted.</param>
+            <param name="instance">The instance holding the member.</param>
+            <returns>The value of the speficied member.</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.GetValue(System.String,System.Object)">
+            <summary>
+            Return the value of the specified member on the given instance.
+            </summary>
+            <param name="name">The name of the member whose value should be extracted. Only instance
+            fields will be considered by this method. If multiple members are found with the same 
+            name, the value of the first will be used.</param>
+            <param name="instance">The instance holding the member.</param>
+            <returns>The value of the speficied member.</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.SetValue(System.Reflection.MemberInfo,System.Object,System.Object)">
+            <summary>
+            Update the specified member on the given instance with the supplied value.
+            </summary>
+            <param name="memberInfo">The member whose value should be updated.</param>
+            <param name="instance">The instance holding the member.</param>
+            <param name="value">The value to use in the update.</param>
+        </member>
+        <member name="T:Gentle.Common.TypeConverter">
+            <summary>
+            Helper class for converting into various types.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.Get(System.Type,System.Xml.XmlNode)">
+            <summary>
+            Convert the supplied XmlNode into the specified target type. Only the InnerXml portion
+            of the XmlNode is used in the conversion, unless the target type is itself an XmlNode.
+            </summary>
+            <param name="targetType">The type into which to convert</param>
+            <param name="node">The source value used in the conversion operation</param>
+            <returns>The converted value</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.Get(System.Type,System.String)">
+            <summary>
+            Convert the supplied string into the specified target type. 
+            </summary>
+            <param name="targetType">The type into which to convert</param>
+            <param name="value">The source value used in the conversion operation</param>
+            <returns>The converted value</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.Get(System.Type,System.Object)">
+            <summary>
+            Convert the supplied object into the specified target type. 
+            </summary>
+            <param name="targetType">The type into which to convert</param>
+            <param name="obj">The source value used in the conversion operation</param>
+            <returns>The converted value</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.IsNullAssignable(System.Type)">
+            <summary>
+            Check whether null can be assigned to instances of the given type.
+            </summary>
+            <param name="type">The type to check for null assignment compatibility.</param>
+            <returns>True if null can be assigned, false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.IsFixedNumeric(System.Type)">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.GetBoolean(System.Object)">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.ToGuid(System.String)">
+            <summary>
+            Convert the binary string (16 bytes) into a Guid.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.ToBinaryString(System.Guid)">
+            <summary>
+            Convert the Guid into a binary string.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.CloneDeep(System.Object)">
+            <summary>
+            Perform a deep cloning of the supplied object instance using serialization.
+            </summary>
+            <param name="obj">The object to clone.</param>
+            <returns>A copy of the supplied instance.</returns>
+        </member>
+        <member name="T:Gentle.Common.Attributes.AllowSortAttribute">
+            <summary>
+            Controlling the Sorting capbility of a column in a DataGrid control.
+            </summary>
+            <remarks>
+            <p>This attribute is intended to uses with the <see cref="T:Gentle.Common.TypedArrayList"/>
+            class. For the objects contained in the <c>TypedArrayList</c> you can determine if a property of
+            the object may act as a sortable column in the corresponding DataGrid control.</p>
+            <p>Per default (if the attribute isn't used) sorting capability is enabled.</p>
+            </remarks>
+            <example>
+            <code>
+            public class Person
+            {
+              private string mName;
+            	
+              <b>[AllowSort(false)]</b>
+              public string Name
+              {
+                get { return mName; }
+                set { mName = value; }
+              }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="M:Gentle.Common.Attributes.AllowSortAttribute.#ctor(System.Boolean)">
+            <summary>
+            Default constructor for the attribute.
+            </summary>
+            <param name="allowSort">
+            <div class="tablediv">
+            <table class="dtTABLE" cellspacing="0">
+            	<tr>
+            		<td><b>true</b></td>
+            		<td>Sorting is enabled for the corresponding <c>DataGrid</c> column</td>
+            	</tr>
+            	<tr>
+            		<td><b>false</b></td>
+            		<td>Sorting is disabled for the corresponding <c>DataGrid</c> column</td>
+            	</tr>
+            </table>
+            </div>
+            </param>
+        </member>
+        <member name="P:Gentle.Common.Attributes.AllowSortAttribute.Value">
+            <summary>
+            Returns the current value of the attribute.
+            </summary>
+            <value>
+            A boolean flag, which tells if the corresponding <c>DataGrid</c> column
+            is sortable or not.
+            </value>
+        </member>
+        <member name="T:Gentle.Common.Attributes.CaptionAttribute">
+            <summary>
+            Defining the caption of a column in a DataGrid control.
+            </summary>
+            <remarks>
+            <p>This attribute is intended to uses with the <see cref="T:Gentle.Common.TypedArrayList"/> class.
+            Per default the DataGrid control retrieve the names of all public property methods of the objects
+            which are displayed in the DataGrid control by Reflection and uses them as column headers.
+            The <c>TypedArrayList</c> use this attribute to display an alternative caption.</p> 
+            </remarks>
+            <example>
+            <code>
+            public class Person
+            {
+              private string mName;
+            	
+              <b>[Caption("Last Name")]</b>
+              public string Name
+              {
+                get { return mName; }
+                set { mName = value; }
+              }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="M:Gentle.Common.Attributes.CaptionAttribute.#ctor(System.String)">
+            <summary>
+            Default constructor for the attribute.
+            </summary>
+            <param name="caption">
+            The display name of the property in the column header of a <c>DataGrid</c>.
+            </param>
+        </member>
+        <member name="P:Gentle.Common.Attributes.CaptionAttribute.Value">
+            <summary>
+            The attribute's value.
+            </summary>
+            <value>
+            The column header text for a <c>DataGrid</c>.
+            </value>
+        </member>
+        <member name="T:Gentle.Common.Attributes.VisibleAttribute">
+            <summary>
+            Controlling the visibility of a property in a DataGrid control.
+            </summary>
+            <remarks>
+            <p>This attribute is intended to uses with the <see cref="T:Gentle.Common.TypedArrayList"/>
+            class. For the objects contained in the <c>TypedArrayList</c> you can determine if the 
+            property should be visible in the DataGrid control.</p>
+            <p>Per default (if this attribute isn't present) all public properties of the objects contained
+            in the <c>TypedArrayList</c> are visible columns in the DataGrid control.</p>
+            <p>If you set the visibility of a property in your class to false, you can't access it in the
+            DataGrid control because there is no column for this property. If you want to access the property
+            in the DataGrid you have to set the ColumnWidth of the DataGrid column to zero.</p>
+            </remarks>
+            <example>
+            <code>
+            public class Person
+            {
+              private string mName;
+            	
+              <b>[Visible(false)]</b>
+              public string Name
+              {
+                get { return mName; }
+                set { mName = value; }
+              }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="M:Gentle.Common.Attributes.VisibleAttribute.#ctor(System.Boolean)">
+            <summary>
+            Default constructor for the attribute.
+            </summary>
+            <param name="visible">
+            <div class="tablediv">
+            <table class="dtTABLE" cellspacing="0">
+            	<tr>
+            		<td><b>true</b></td>
+            		<td>The property is a visible column in the DataGrid control</td>
+            	</tr>
+            	<tr>
+            		<td><b>false</b></td>
+            		<td>The property will not be shown in the DataGrid control</td>
+            	</tr>
+            </table>
+            </div>
+            </param>
+        </member>
+        <member name="P:Gentle.Common.Attributes.VisibleAttribute.Value">
+            <summary>
+            The attribute's value.
+            </summary>
+            <value>The column header text for a <c>DataGrid</c>.</value>
+        </member>
+        <member name="T:Gentle.Common.RemoveEventHandler">
+            <summary>
+            The <c>RemoveEventHandler</c> handles the cancellation of edit
+            actions in a DataGrid control.
+            </summary>
+            <remarks>
+            If the user cancels the data editing of a new line in the 
+            DataGrid, the <see cref="M:System.ComponentModel.IEditableObject.CancelEdit"/> event
+            is fired and must be handled by the object which is being edited. The 
+            <see cref="T:Gentle.Common.TypedArrayList"/> must be informed to remove the
+            object from it's list. This will be done by firing a RemoveObject event in the
+            <c>CancelEdit</c> event handler.
+            </remarks>
+        </member>
+        <member name="T:Gentle.Common.IBindable">
+            <summary>
+            Interface for types which will be bound to a DataGrid using the
+            <see cref="T:Gentle.Common.TypedArrayList"/>.
+            </summary>
+            <remarks>
+            All types stored in a <see cref="T:Gentle.Common.TypedArrayList"/> which
+            will be bound to a DataGrid control should implement this interface.
+            It defines all methods and events needed to support the editing facilities
+            of the DataGrid control.
+            </remarks>
+        </member>
+        <member name="E:Gentle.Common.IBindable.RemoveObject">
+            <summary>
+            The event should be fired, if the user cancels the editing of
+            a newly created object in the DataGrid control.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.TypedArrayList">
+            <summary>
+            A strongly typed ArrayList with binding capabilities.
+            <seealso cref="T:Gentle.Common.Attributes.AllowSortAttribute"/>
+            <seealso cref="T:Gentle.Common.Attributes.CaptionAttribute"/>
+            <seealso cref="T:System.ComponentModel.ReadOnlyAttribute"/>
+            <seealso cref="T:Gentle.Common.Attributes.VisibleAttribute"/>
+            </summary>
+            <remarks>
+            <p>Implemententation of a strongly typed array list of objects with full support
+            for data binding (e.g. for use with a Datagrid control. </p>
+            <p>The <c>TypedArrayList</c> class implements the <see cref="T:System.ComponentModel.ITypedList"/>
+            and <see cref="T:System.ComponentModel.IBindingList"/> interfaces to provide databinding
+            to list controls like the DataGrid control with full support for adding and removing
+            entries and sorting the displayed list.</p>
+            <p>The property methods of the types stored in the list can be flagged with a set 
+            of attributes to control the the behaviour of the data grid.</p><br/>
+            <table class="dtTABLE" cellspacing="0" style="width: 60%">
+            	<tr>
+            		<th width="10%">Attribute name</th>
+            		<th width="90%">usage</th>
+            	</tr>
+            	<tr>
+            		<td width="10%">Caption</td>
+            		<td width="90%">Defines the caption of the column in the data grid.</td>
+            	</tr>
+            	<tr>
+            		<td width="10%">ReadOnly</td>
+            		<td width="90%">(From <see cref="N:System.ComponentModel"/>) Flags the column in the data grid as read-only.</td>
+            	</tr>
+            	<tr>
+            		<td width="10%">AllowSort</td>
+            		<td width="90%">Flags the column in the data grid as sortable.</td>
+            	</tr>
+            	<tr>
+            		<td width="20%">Visible</td>
+            		<td width="80%">Defines if the property is a visible column in the DataGrid control.</td>
+            	</tr>
+            </table><br/>
+            <p>There is one restriction for the types stored in the <c>TypedArrayList</c> if you want
+            to use the editing facilities of the DataGrid control. The types stored in the list must
+            implement the <see cref="T:Gentle.Common.IBindable"/> interface. If you don't do this, adding
+            and removing objects in the DataGrid will not work properly.</p>
+            </remarks>
+        </member>
+        <member name="F:Gentle.Common.TypedArrayList.containedType">
+            <summary>
+             The type of the objects in the list.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.#ctor(System.Type)">
+            <summary>
+            Default constructor.
+            </summary>
+            <param name="containedType">The type of the object stored in the ArrayList</param>
+        </member>
+        <member name="E:Gentle.Common.TypedArrayList.ListChanged">
+            <summary>
+            Implementation of <see cref="E:System.ComponentModel.IBindingList.ListChanged"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnListChanged(System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Fires the ListChanged event for all attached listeners.
+            </summary>
+            <param name="e">The <see cref="T:System.ComponentModel.ListChangedEventArgs"/> for the event.</param>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.AnalyseObjectType">
+            <summary>
+            Store a list of all property methods of the type stored in the ArrayList. 
+            </summary>
+            <remarks>
+            The list is used by the <see cref="M:System.ComponentModel.ITypedList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])"/>.
+            Because using Reflection is time consuming the property methods are reflected once
+            while constructing an object of the TypedArrayList class.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveChild(System.Object,System.EventArgs)">
+            <summary>
+            Implements the RemoveObject event for the object stored in the list.
+            </summary>
+            <param name="value">The object which causes the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Match(System.Object,System.Object)">
+            <summary>
+            Helper method for the <see cref="M:Gentle.Common.TypedArrayList.Find(System.ComponentModel.PropertyDescriptor,System.Object)"/> method. Checks
+            if the current object meets the search crieria.
+            </summary>
+            <param name="data">The current object.</param>
+            <param name="searchValue">The searched object.</param>
+            <returns>´<b>True</b>, if the current object meets the search
+            criteria, <b>false</b> if not.</returns>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnClearComplete">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnClearComplete"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnInsertComplete(System.Int32,System.Object)">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnInsertComplete(System.Int32,System.Object)"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnRemoveComplete(System.Int32,System.Object)">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnRemoveComplete(System.Int32,System.Object)"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnSetComplete(System.Int32,System.Object,System.Object)">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnSetComplete(System.Int32,System.Object,System.Object)"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.ITypedList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])"/>.
+            </summary>
+            <remarks>
+            For each property method of the type contained in the list, a <c>PropertyDescriptor</c>
+            will be created. If a property is flagged <i>not visible</i>, it will be omitted.
+            The <c>TypedArrayList</c> uses a custom implementation of the PropertyDescriptor,
+            <see cref="T:Gentle.Common.Util.CaptionPropertyDescriptor"/>, to support interpreting attributes.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.GetListName(System.ComponentModel.PropertyDescriptor[])">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.ITypedList.GetListName(System.ComponentModel.PropertyDescriptor[])"/>.
+            </summary>
+            <returns>The name of the type of the objects in the list.</returns>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.AddIndex(System.ComponentModel.PropertyDescriptor)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.AddIndex(System.ComponentModel.PropertyDescriptor)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.AllowNew">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.AllowNew"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.SortBy(System.String,System.ComponentModel.ListSortDirection)">
+            <summary> 
+            Sorts a TypedArrayList with the selected property.
+            </summary> 
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.ApplySort(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.ApplySort(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SortProperty">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SortProperty"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Find(System.ComponentModel.PropertyDescriptor,System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.Find(System.ComponentModel.PropertyDescriptor,System.Object)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SupportsSorting">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SupportsSorting"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsSorted">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.IsSorted"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.AllowRemove">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.AllowRemove"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SupportsSearching">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SupportsSearching"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SortDirection">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SortDirection"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SupportsChangeNotification">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SupportsChangeNotification"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveSort">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.RemoveSort"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.AddNew">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.AddNew"/>.
+            </summary>
+            <remarks>
+            The implementation uses reflection to instantiate an object of the current 
+            object type. If the types contained in the list do not implement the IBindable
+            interface, adding new objects to the list will not work properly.
+            </remarks>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.AllowEdit">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.AllowEdit"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveIndex(System.ComponentModel.PropertyDescriptor)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.RemoveIndex(System.ComponentModel.PropertyDescriptor)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsReadOnly">
+            <summary>
+            Implementation of <see cref="P:System.Collections.IList.IsReadOnly"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.Item(System.Int32)">
+            <summary>
+            Implementation of <see cref="P:System.Collections.IList.Item(System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Insert(System.Int32,System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Insert(System.Int32,System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Remove(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Remove(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveAt(System.Int32)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.RemoveAt(System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Contains(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Contains(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Clear">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Clear"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.IndexOf(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.IndexOf(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Add(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Add(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsFixedSize">
+            <summary>
+            Implementation of <see cref="P:System.Collections.IList.IsFixedSize"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsSynchronized">
+            <summary>
+            Implementation of <see cref="P:System.Collections.ICollection.IsSynchronized"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SyncRoot">
+            <summary>
+            Implementation of <see cref="P:System.Collections.ICollection.SyncRoot"/>.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.Util.CaptionPropertyDescriptor">
+            <summary>
+            A custom <see cref="T:System.ComponentModel.PropertyDescriptor"/> implementation.
+            </summary>
+            <remarks>
+            <p>The CaptionPropertyDescriptor is used in the implementation of the 
+            <see cref="T:System.ComponentModel.ITypedList"/> interface. 
+            It enhances the <see cref="T:System.ComponentModel.PropertyDescriptor"/>
+            to handle the custom attributes <c>Caption</c>, <c>ReadOnly</c> and <c>AllowSort</c>.</p>
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.#ctor(System.String,System.Reflection.PropertyInfo)">
+            <summary>
+            Initialize a new <c>CaptionPropertyDescriptor</c> with the specified name
+            and <c>PropertyInfo</c>.
+            </summary>
+            <param name="name">The name of the property</param>
+            <param name="propertyInfo">The <c>PropertyInfo</c> for the property.</param>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.ComponentType">
+            <summary>
+            Gets the type of the component this property is bound to.
+            <seealso cref="P:System.ComponentModel.PropertyDescriptor.ComponentType">
+            <c>System.ComponentModel.PropertyDescriptor.ComponentType()</c>
+            </seealso>
+            </summary>
+            <value>A <see cref="T:System.Type"><c>System.Type</c></see> that represents the type of component 
+            this property is bound to. When <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"><c>PropertyDescriptor.GetValue</c></see>
+            or <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"><c>PropertyDescriptor.SetValue</c></see>
+            are invoked, the object specified might be an instance of this type.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.DisplayName">
+            <summary>
+            Gets the name that can be displayed in a window, such as a Properties window.
+            If the <c>Caption</c> attribute is defined for the property representing by this
+            <c>PropertyDescriptor</c>, the attribute's value is returned
+            instead of the original name.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.DisplayName">
+            <c>System.ComponentModel.PropertyDescriptor.DisplayName</c>
+            </seealso>.
+            </summary>
+            <value>The name to display for the member.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.IsReadOnly">
+            <summary>
+            Gets a value indicating whether this property is read-only.
+            <seealso cref="P:System.ComponentModel.PropertyDescriptor.IsReadOnly">
+            <c>System.ComponentModel.PropertyDescriptor.IsReadOnly()</c>
+            </seealso>
+            </summary>
+            <returns><b>true</b>, if the <c>ReadOnly</c> is defined for the current property of the class.</returns>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.Name">
+            <summary>
+            Gets the name of the member.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.Name" />
+            </summary>
+            <value>The name of the member.</value>
+            <remarks>
+            <p>If the <c>Caption</c> attribute is defined for the property representing by this
+            <c>PropertyDescriptor</c>, the attribute's value is returned
+            instead of the original name.</p>
+            This property is only overridden because the <c>DataGrid</c> don't use
+            the <see cref="P:System.ComponentModel.MemberDescriptor.Name"><c>PropertyDescriptor.Name</c></see>
+            property.
+            </remarks>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.PropertyType">
+            <summary>
+            Gets a value indicating whether this property is read-only.
+            <seealso cref="P:System.ComponentModel.PropertyDescriptor.PropertyType" />
+            </summary>
+            <value><b>true</b> if the property is read-only; otherwise, <b>false</b>.</value>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.CanResetValue(System.Object)">
+            <summary>
+            Returns whether resetting an object changes its value.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.CanResetValue(System.Object)" />
+            </summary>
+            <param name="component">The component to test for reset capability.</param>
+            <returns><b>true</b> if resetting the component changes its value; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.GetValue(System.Object)">
+            <summary>
+            Gets the current value for this property on a component.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)" />
+            </summary>
+            <param name="component">The component with the property for which to retrieve the value.</param>
+            <returns>The value of a property for a given component.</returns>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.ResetValue(System.Object)">
+            <summary>
+            Resets the value for this property of the component to the default value.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.ResetValue(System.Object)">
+            <c>System.ComponentModel.PropertyDescriptor.ResetValue</c>
+            </seealso>
+            </summary>
+            <param name="component">The component with the property value that is to be reset to the default value.</param>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.SetValue(System.Object,System.Object)">
+            <summary>
+            Sets the value of the component to a different value.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)">
+            <c>System.ComponentModel.PropertyDescriptor.SetValue()</c>
+            </seealso>
+            </summary>
+            <param name="component">The component with the property value that is to be set.</param>
+            <param name="value">The new value.</param>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.ShouldSerializeValue(System.Object)">
+            <summary>
+            Determines a value indicating whether the value of this property needs to be persisted.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.ShouldSerializeValue(System.Object)">
+            <c>System.ComponentModel.PropertyDescriptor.ShouldSerialzeValue</c>
+            </seealso>
+            </summary>
+            <param name="component">The component with the property to be examined for persistence.</param>
+            <returns><b>true</b> if the property should be persisted; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.AllowSort">
+            <summary>
+            Returns a value that indicates if the property which is represented by the member
+            allows sorting in the <c>DataGrid</c>.
+            </summary>
+            <value><b>true</b>, if the <c>ReadOnly</c> is defined for the current property of the class.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.OriginalDisplayName">
+            <summary>
+            Returns the original member display name.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.DisplayName">
+            <c>System.ComponentModel.PropertyDescriptor.DisplayName</c>
+            </seealso>.
+            </summary>
+            <value>The display name of the member.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.OriginalName">
+            <summary>
+            Returns the original member name.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.Name">
+            <c>System.ComponentModel.PropertyDescriptor.Name</c>
+            </seealso>.
+            </summary>
+            <value>The name of the member.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.OriginalDescriptor">
+            <summary>
+            The original descriptor.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.FindOrigPropertyDescriptor(System.Reflection.PropertyInfo)">
+            <summary>
+            Retrieve the standard <c>PropertyDescriptor</c> for a property.
+            </summary>
+            <param name="propertyInfo">The property for which the <c>PropertyDescriptor</c> should be searched.</param>
+            <returns>
+            The standard <c>PropertyDescriptor</c> for the property or <b>null</b>
+            if no <c>PropertyDescriptor</c> was found.</returns>
+        </member>
+        <member name="T:Gentle.Common.Util.ObjectPropertyComparer">
+            <summary>
+            Internal class for sorting objects.
+            </summary>
+            <remarks>
+            The <c>ObjectPropertyComparer</c> acts a a comparer for the objects contained in a
+            <see cref="T:Gentle.Common.TypedArrayList"/>. It sorts the objects based on the 
+            name of the property passed in the constructor. This comparer is used internally,
+            if the TypedArrayList is bound to a DataGrid control and the user clicks on a 
+            column header to sort the data.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.Util.ObjectPropertyComparer.#ctor(System.String)">
+            <summary>
+            Initialize a new Comparer for a given property.
+            </summary>
+            <param name="propertyName">The name of the property to compare.</param>
+        </member>
+        <member name="M:Gentle.Common.Util.ObjectPropertyComparer.Compare(System.Object,System.Object)">
+            <summary>
+            Compare two objects based on the property name passed to the constructor.
+            </summary>
+            <param name="x">The first object to compare.</param>
+            <param name="y">The second object to compare.</param>
+            <returns>
+            <div class="tablediv">
+            <table class="dtTABLE" cellspacing="0">
+            	<tr>
+            		<th width="50%">Value</th>
+            		<th width="50%">Condition</th>
+            	</tr>
+            	<tr>
+            		<td width="50%">Less than zero</td>
+            		<td width="50%"><i>a</i> is less than <i>b</i></td>
+            	</tr>
+            	<tr>
+            		<td width="50%">Zero</td>
+            		<td width="50%"><i>a</i> equals <i>b</i></td>
+            	</tr>
+            	<tr>
+            		<td width="50%">Greater than zero</td>
+            		<td width="50%"><i>a</i> is greater than <i>b</i></td>
+            	</tr>
+            </table>
+            </div>
+            </returns>
+        </member>
+        <member name="T:Gentle.Common.FileSystemUtil">
+            <summary>
+            This class is a container for useful file system commands.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsValidFilePath(System.String)">
+            <summary>
+            Check whether a file exists at the specified location.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsFileName(System.String)">
+            <summary>
+            Check whether the specified parameter is a file name without any path information.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsFolder(System.String)">
+            <summary>
+            Check whether the specified parameter is a path name without any file information. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsRelativePath(System.String)">
+            <summary>
+            Check whether the supplied path is relative or absolute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.CombinePathAndFileName(System.String,System.String)">
+            <summary>
+            Combine the supplied folder and file name into a single absolute local file path.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.DetermineFileLocation(System.String,System.String[])">
+            <summary>
+            Search for the specified file in the given search locations and return the first match.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.dll.config b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.dll.config
new file mode 100644
index 0000000..42f94f7
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.dll.config
@@ -0,0 +1,11 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.48.0" newVersion="1.0.48.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>
\ No newline at end of file
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.xml
new file mode 100644
index 0000000..eb8129b
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.Tests.xml
@@ -0,0 +1,1076 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Framework.Tests</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Framework.Tests.PHNullableType">
+            <summary>
+            This type is used to test for handling enums as strings.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHNullableType.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHNullableType.#ctor(System.Int32,System.String,System.Nullable{System.DateTime})">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PHNullableType.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.GuidHolder">
+            <summary>
+            The TestGuid class is used as a standalone tester for the GUID data type. It also demonstrates
+            how the Gentle attributes can be used on properties instead of fields. Note that this class
+            does not use an auto-generated primary key.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.GuidHolderIP">
+            <summary>
+            This class is used to test that Gentle handles types not inheriting from Persistent,
+            but only implementing the IPersistent interface. It is not related to the GuidHolder
+            class except in that it maps to the same table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.GetKey">
+            <summary>
+            Abstract method for subclasses to implement. It should return a <see cref="T:Gentle.Framework.Key"/> 
+            instance containing all the primary key properties of this object.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Persist">
+            <summary>
+            Persist the current instance to the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Persist the current instance to the database as part of the given transaction.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Remove">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Remove(Gentle.Framework.Transaction)">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Refresh">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MailingList">
+            <summary>
+            The MailingList class is a business object representing a mailing list. It has a few
+            properties describing the list itself as well as a list of members, each of
+            the <see cref="T:Gentle.Framework.Tests.Member"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.Retrieve(System.Int32)">
+            <summary>
+            Construct a list instance by retrieving an existing list from the database.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.#ctor(System.String,System.String)">
+            <summary>
+            Construct a new list instance.
+            </summary>
+            <param name="name">The name of the list</param>
+            <param name="senderAddress">The sender address used to send mails</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.#ctor(System.Int32,System.String,System.String)">
+            <summary>
+            Construct a list instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list in the database</param>
+            <param name="name">The name of the list</param>
+            <param name="senderAddress">The sender address used to send mails</param>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.Id">
+            <summary>
+            This is the primary key property of this class. It maps to the table column
+            ListId and the value is automatically generated by the database on insert.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.Name">
+            <summary>
+            This property holds the name of the MailingList instance. It maps to the 
+            ListName column and is not allowed to be null. 
+            The property is a member of the DataView named "All" and is put in the first 
+            column (whose header will be "List Name").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.SenderAddress">
+            <summary>
+            This property holds the email address used as the from address when sending emails.
+            It maps to a column also called SenderAddress and cannot be null.
+            The property is a member of the DataView named "All" and is put in the third 
+            column (whose header will be "Sender Address").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.SubscriberCount">
+            <summary>
+            This property returns the number of members/subscribers for this instance. It is not 
+            persistent but calculated on the fly by counting all members.
+            The property is a member of the DataView named "All" and is put in the second 
+            column (whose header will be "Subscribers").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.ViewAll">
+            <summary>
+            Construct a DataView of all MailingList instances for use in a UI component.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.Members">
+            <summary>
+            Example list retrieval of objects from a different table.
+            The list is constrained by the specified properties of the current object.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.ListMembersBySenderAddress">
+            <summary>
+            Example list retrieval of all Members related to the current MailingList
+            instance using the *fictional* foreign key relationship between SenderAddress
+            and Member.Address. No test case for this as it is merely here to show you
+            the syntax :-) 
+            It will fail if you execute it unless you modify the classes involved.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.Retrieve(System.String)">
+            <summary>
+            Example list retrieval of a single object using a non-primary key value. If
+            multiple lists are returned the statement will fail.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.ListByDomain(System.String)">
+            <summary>
+            Example list retrieval of objects using a custom "like" constraint.
+            </summary>
+            <param name="domain">A partial (right-side exact) string to match for senderaddress</param>
+            <returns>A list of MailingList objects</returns>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.ListByCustomListConstraint">
+            <summary>
+            Example list retrieval of objects using a custom "in" constraint.
+            </summary>
+            <returns>A list of MailingList objects</returns>
+        </member>
+        <member name="T:Gentle.Framework.Tests.Member">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.Member.#ctor">
+            <summary>Default constructor so object can be serialized.</summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.Member.Id">
+            <summary>
+            The primary key field. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberCC">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MemberCC.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberCCSD">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MemberCCSD.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberPicture">
+            <summary>
+            The MemberPicture class represents a MailingList subscriber picture.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberSD">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MemberSD.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberValidation">
+            <summary>
+            The MemberValidation class is used to verify custom validators.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MultiType">
+            <summary>
+            Summary description for MultiType.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.Numbers">
+            <summary>
+            Summary description for ManyNumbers.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHBase">
+            <summary>
+            Abstract base class for test classes using the PropertyHolder table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHBase.#ctor(System.Int32,System.DateTime)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHDateTimeNullValueMin">
+            <summary>
+            Test class used to test NULL translation for DateTime fields using MinValue (the default).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMin.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMin.#ctor(System.Int32,System.DateTime,System.DateTime)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMin.#ctor(System.DateTime,System.DateTime)">
+            <summary>
+            Construct a new instance.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHDateTimeNullValueMax">
+            <summary>
+            Test class used to test NULL translation for DateTime fields using MaxValue.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMax.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMax.#ctor(System.Int32,System.DateTime,System.DateTime)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMax.#ctor(System.DateTime,System.DateTime)">
+            <summary>
+            Construct a new instance.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHEnum">
+            <summary>
+            This type is used to test for handling enums as strings.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHEnum.#ctor">
+            <summary>
+            Construct a new instance (no database record).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHEnum.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHEnum.#ctor(System.Int32,System.DayOfWeek,System.DayOfWeek,System.DayOfWeek)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PHEnum.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PropertyHolder">
+            <summary>
+            This is a business object decorated with lots of properties of varying types.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Tests.PropertyHolder.NEW_ID">
+            <summary>
+            Id assignment for a new object. If this is used to create the PropertyHolder 
+            object then a refresh will not be performed.
+            0 must be used if the database is to assign a new identity on insert.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PropertyHolder.#ctor">
+            <summary>
+            Construct a new instance (no database record).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PropertyHolder.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PropertyHolder.#ctor(System.Int32,System.String,System.Int32,System.Int64,System.Decimal,System.Double,System.Boolean,System.DateTime,System.DateTime,System.String,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PropertyHolder.ViewAll">
+            <summary>
+            Construct a DataView of all PropertyHolder instances for use in a UI component.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PropertyHolder.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.ReservedWords">
+            <summary>
+            Class to test out reserved words handling. Because reserved words are provider 
+            specific, these tests are only executed with SQL Server.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.ReservedWords.#ctor(System.Int32,System.String,System.Int32,System.String,System.String)">
+            <summary>
+            Default Constructor
+            </summary>
+            <param name="identity"></param>
+            <param name="order"></param>
+            <param name="value"></param>
+            <param name="of"></param>
+            <param name="group"></param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.ReservedWords.Retrieve(System.Int32)">
+            <summary>
+            Retrieve using the tables identity field
+            </summary>
+            <param name="identity"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Tests.ReservedWords.Retrieve(System.String)">
+            <summary>
+            Retrieve using the tables Group field
+            </summary>
+            <param name="group"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Gentle.Framework.Tests.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Framework.Tests"/> namespace contains example business objects using
+            the framework as well as NUnit test cases for exercising much of the functionality provided.
+            </summary>
+            <remarks>
+            The most extensive and illustrative example of a business object using the framework is the 
+            <see cref="T:Gentle.Framework.Tests.MailingList"/> class. Usage of the <see cref="T:Gentle.Framework.Tests.MailingList"/> class can be seen in 
+            <see cref="T:Gentle.Framework.Tests.TestList"/>, which contains methods to exercise the framework in a various ways. 
+            Study of the two source files should be enough to show you how to use the framework in your 
+            own projects.	
+            </remarks>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestCache">
+            <summary>
+            This class tests various aspects of the built-in object caching 
+            and uniqing functionality.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestConstraint">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MailingList and Member classes. The database must have been created and
+            populated with the supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestGreaterThanOrEqualsConstraint">
+            <summary>
+            Verify the GreaterThanOrEquals constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestLessThanConstraint">
+            <summary>
+            Verify the LessThan constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestRangeConstraint">
+            <summary>
+            Verify range of constraints.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestRangeConstraintCustom">
+            <summary>
+            Verify range of constraints using a custom clause.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestDateTimeNullValue">
+            <summary>
+            Summary description for TestDateTimeNullValue.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestGuidHolder">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestGuidHolder.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestGuidHolderIP">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            GuidHolderIP class. The purpose of these tests is to ensure that Gentle can
+            work with objects implementing IPersistent (rather than inheriting from the
+            Persistent base class).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestGuidHolderIP.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestList">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MailingList and Member classes. The database must have been created and
+            populated with the supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.CRUD(System.Int32)">
+            <summary>
+            Repeat the TestCRUD test case any number of times.
+            </summary>
+            <param name="loopFactor">The number of times to repeat the test</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCRUD_X">
+            <summary>
+            Simple method for looping the CRUD test case. While it is disabled in itself, the
+            thread safety tests depend on it being here.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestTypeInstanceRetrieval">
+            <summary>
+            Verify that selecting a list of a given type produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestTypeListRetrieval">
+            <summary>
+            Verify that selecting a list of a given type produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestRowLimitRetrieval">
+            <summary>
+            Verify that selecting a list can be constrained to return a maximum number of rows. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestPaging">
+            <summary>
+            Verify that paging using SqlResult.Next/Previous works.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestOrderByRetrieval">
+            <summary>
+            Verify that element ordering works when selecting multiple rows.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestOtherTypeListRetrieval">
+            <summary>
+            Verify that foreign keys can be resolved and used to select a list of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCustomListUsingLikeConstraint">
+            <summary>
+            Verify the Operator.Like constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestAnalyzerWithView_ColumnTypeInformation">
+            <summary>
+            Verify that the analyzer also works with views.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCustomListUsingInConstraint">
+            <summary>
+            Verify the Operator.In constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestObjectViewGeneration">
+            <summary>
+            Test automatic DataView generation using objects as data source.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestSqlResultViewGeneration">
+            <summary>
+            Test automatic DataView generation using an SqlResult as data source.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMember">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMember.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMember.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMember.TestForeignKeyTranslation">
+            <summary>
+            Verify that foreign key translation works when columns do no use same name in
+            both tables.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberCC">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MemberCC class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            The MemberCC class is like the Member class with added concurrency control.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestConcurrencyControlValue">
+            <summary>
+            Verify that concurrency control updates the database version.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestGentleListWithConcurrency">
+            <summary>
+            Verify that GentleList works when concurrency control is enabled.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestConcurrencyControlError">
+            <summary>
+            Verify that concurrency control prevents updates using old data.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberCCSD">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MemberCCSD class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            The MemberCCSD class is like the Member class with added concurrency control
+            and soft deletion.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestConcurrencyControlValue">
+            <summary>
+            Verify that concurrency control updates the database version.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestConcurrencyControlError">
+            <summary>
+            Verify that concurrency control prevents updates using old data.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberPicture">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberPicture.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberSD">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MemberSD class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            The MemberSD class is like the Member class with added soft deletion.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberSD.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberSD.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMultiType">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestCRUD_Dog">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestCRUD_Cat">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestTypeFieldOnPersist">
+            <summary>
+            Test case for verifying that the current object type is correctly written to
+            the inheritance column.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestStringToType">
+            <summary>
+            Test case for verifying that we can convert strings to types. Note that in
+            ObjectFactory we need to load the assembly first.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestTypeOverride">
+            <summary>
+            Test case for verifying that the current object type is correctly written to
+            the inheritance column.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestTypeFilter">
+            <summary>
+            Test case for verifying that the current object type is correctly written to
+            the inheritance column.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestPerformance">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MailingList and Member classes. The database must have been created and
+            populated with the supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPerformance.CRUD(System.Int32)">
+            <summary>
+            Repeat the TestCRUD test case any number of times.
+            </summary>
+            <param name="loopFactor">The number of times to repeat the test</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPerformance.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPropertyHolder.TestCRUD_X">
+            <summary>
+            Simple method for looping the CRUD test case (for performance measurement).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPropertyHolder.TestIdFieldNotSame">
+            <summary>
+            Test that a database field with a name different than the object property is 
+            correctly found. For instance a table "MyTable" with the primary key of MyTable_Id
+            will be able to populate a property identified by MyObject.Id.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPropertyHolder.TestColumnInMultipleConstraints">
+            <summary>
+            Test that a database field can be used multiple times in constraints.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestProvider">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.ExecuteTestUnnamedParameterOrder(System.String)">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestUnnamedParameterOrderJet">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestUnnamedParameterOrderSybase">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestManualProviderCreation">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestCustomListUsingInConstraint">
+            <summary>
+            Verify the Operator.In constraint.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestReservedWords">
+            <summary>
+            Test editing of a table that uses reserved words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestReservedWords.CleanUp">
+            <summary>
+            Clean up table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestReservedWords.TestCRUD">
+            <summary>
+            Test the standard CRUD operations.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestReservedWords.TestSelectNonIdentity">
+            <summary>
+            Test select using non-identity criteria.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSerializable">
+            <summary>
+            This class holds test cases that test for serialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSerializable.TestSerialize">
+            <summary>
+            Test that the <see cref="T:Gentle.Framework.Persistent"/> object can be serialized using the 
+            <see cref="T:System.Xml.Serialization.XmlSerializer"/> class.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactorySQLServer">
+            <summary>
+            Test cases for the SQL Server rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactorySQLServer.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactorySQLServer.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryFirebird">
+            <summary>
+            Test cases for the Firebird rdbms engine.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryJet">
+            <summary>
+            Test cases for the MS Access (Jet) rdbms engine.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryPostgreSQL">
+            <summary>
+            Test cases for the PostgreSQL rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryPostgreSQL.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryPostgreSQL.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryMySQL">
+            <summary>
+            Test cases for the MySQL rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryMySQL.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryMySQL.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryOracle">
+            <summary>
+            Test cases for the Oracle rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryOracle.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryOracle.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactory">
+            <summary>
+            Test cases for verifying the syntax of generated sql statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.SqlFactoryOutput">
+            <summary>
+            Abstract test case definition required by the Mono TestRunner program.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Select">
+            <summary>
+            Test case for verifying the syntax of generated select statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Count">
+            <summary>
+            Test case for verifying the syntax of generated row count select statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.SelectList">
+            <summary>
+            Test case for verifying the syntax of generated select without constraint statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Insert">
+            <summary>
+            Test case for verifying the syntax of generated insert statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Update">
+            <summary>
+            Test case for verifying the syntax of generated update statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Delete">
+            <summary>
+            Test case for verifying the syntax of generated delete statements.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestThreadSafety">
+            <summary>
+            This class holds test cases that test for thread safety.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestThreadSafety.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestThreadSafety.TestThreadedCRUD">
+            <summary>
+            Test threaded access to the framework. 
+            Note: this test does not really prove anything (including thread safety).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestValidation">
+            <summary>
+            This class holds test cases for exercising the Gentle framework RegexValidation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRegexGoodData">
+            <summary>
+            Test that the regex validator allows good data to pass validation
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRegexBad">
+            <summary>
+            Test that the regex validator catches `bad` data.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRequiredGood">
+            <summary>
+            Test that a required field with data passes validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRequiredBad">
+            <summary>
+            Test that a required field without data fails validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRequiredBadButAllowNull">
+            <summary>
+            Test that a required field without data fails validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConfigFileAccess.AccessTest">
+            <summary>
+            Test case for verifying access to the configuration file and required keys in it.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestCases.TestFirebirdFactory">
+            <summary>
+            This class tests <see cref="T:Gentle.Provider.Firebird.FirebirdFactory"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestCases.TestFirebirdFactory.TestReservedWord">
+            <summary>
+            This test case tests <c>IsReservedWord</c> method.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestCases.TestFirebirdFactory.TestQuoteReservedWord">
+            <summary>
+            This test case tests <c>QuoteReservedWord</c> method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestObjectMap">
+            <summary>
+            Summary description for ObjectMapTest.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestObjectMap.TestMapConstruction">
+            <summary>
+            Test case to verify the correct parsing of attributes and construction of the
+            internally used ObjectMap instances.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestObjectMap.TestAnalyzerDataOverride">
+            <summary>
+            Test case for verifying that column information (type, field size, constraints) 
+            read from the database overrides the values specified using attributes.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestProviderFactory">
+            <summary>
+            Summary description for TestProviderFactory.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestReflector">
+            <summary>
+            Test cases for the Reflector helper class.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.Role">
+            <summary>
+            This class exists for the purpose of testing automatic management of n:m
+            relationships, graph operations (i.e. recursive processing of objects and
+            all properties on it), and reserved word handling.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.Role.#ctor(Gentle.Framework.Tests.Roles)">
+            <summary>
+            Construct instance representing the given Roles enumeration value.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.Role.#ctor(System.Int32,System.String)">
+            <summary>
+            Construct instance from existing data. This is the constructor invoked by 
+            Gentle when creating new Role instances from result sets.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.TestCRUD">
+            <summary>
+            Test case for verifying basic type IO using Gentle-generated SQL. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.Test_NtoM">
+            <summary>
+            This test case verifies the automatic management of both the relation and the 
+            related objects, i.e. when you add a Role object it is persisted along with an
+            entry in the UserRole table, and vice versa when Role objects are removed.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.Test_NtoM_WithExtraRelationColumn">
+            <summary>
+            This test case extends the N:M test above by also storing an additional
+            value in the relation table (a reference to a Member instance).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.Test_AutoRead">
+            <summary>
+            This test case verifies the automatic retrieval of objects during list instantiation.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.User">
+            <summary>
+            This class exists for the purpose of testing automatic management of n:m
+            relationships, graph operations (i.e. recursive processing of objects and
+            all properties on it), and reserved word handling.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.User.#ctor(System.Int32,System.String,System.String,Gentle.Framework.Tests.Roles)">
+            <summary>
+            Construct instance from existing data. This is the constructor invoked by 
+            Gentle when creating new User instances from result sets.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.xml
new file mode 100644
index 0000000..8d3ab02
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Framework.xml
@@ -0,0 +1,5215 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Framework</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Framework.ConcurrencyAttribute">
+            <summary>
+            <p>Use this attribute to designate the property holding the row version integer used
+            for concurrency control. Updates (for objects under concurrency control) will only
+            succeed if the version of the row being updated matches the objects version.</p> 
+            <p>Support for concurrency control using DateTime values is not supported.</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.CustomViewAttribute">
+            <summary>
+            <p>Use this attribute to designate properties to include in the named DataView. Use
+            the <see cref="T:Gentle.Framework.ObjectView"/> class to construct the named DataView given a list
+            of objects or to update object values using data found in an existing DataView.</p>
+            <p>This is a convenient method for using standard UI components to show and edit 
+            business objects.</p>
+            <p>Separate views (by grouping attributes belonging to the same view) using the view
+            name. A single property can be in any number of views, but only once in every view.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.String,System.Int32,System.String,System.String)">
+            <summary>
+            Mark this member as a DataView column in the specified view. 
+            </summary>
+            <param name="viewName">The name of this custom view</param>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+            <param name="formatString">The format string used for formatting data</param>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.Int32,System.String,System.String)">
+            <summary>
+            Mark this member as a DataView column in the default view (named "default").
+            </summary>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+            <param name="formatString">The format string used for formatting data</param>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.String,System.Int32,System.String)">
+            <summary>
+            Mark this member as a DataView column in the specified view. 
+            </summary>
+            <param name="viewName">The name of this custom view</param>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.Int32,System.String)">
+            <summary>
+            Mark this member as a DataView column in the default view (named "default").
+            </summary>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ViewName">
+            <summary>
+            The name of the view to which this attribute belongs.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ColumnIndex">
+            <summary>
+            The index of the column in the view. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ColumnName">
+            <summary>
+            The name of the column in the view.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.FormatString">
+            <summary>
+            The name of the database column for storing the property decorated with this attribute.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ClickAction">
+            <summary>
+            Currently unused. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.NavigateUrlFormat">
+            <summary>
+            If specified the string will be used to render hyperlink columns (only when using the
+            ObjectView.PopulateDataGrid method). The primary key will be inserted in place of {0}
+            in the specified format string. This is only useable with Gentle supported classes.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.Style">
+            <summary>
+            If specified and valid, the column in the DataView will be rendered in the specified
+            style. Possible values are "none" (the default), "hyperlink" and "button".
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ForeignKeyAttribute">
+            <summary>
+            Use this attribute to mark properties referencing data in a remote table. It is
+            used by the framework to map property (and the corresponding column) names of one
+            object to other objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ForeignKeyAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Construct a new ForeignKey attribute. This will relate the decorated property
+            to the specified column in the given table.
+            </summary>
+            <param name="foreignTable">The table to relate to</param>
+            <param name="foreignColumn">The column to relate to</param>
+        </member>
+        <member name="M:Gentle.Framework.ForeignKeyAttribute.#ctor(System.String)">
+            <summary>
+            Construct a new ForeignKey attribute. This will relate the decorated property
+            to the specified column in the given table.
+            </summary>
+            <param name="foreignReference">The table and column to relate to (formatted as "table.column").</param>
+        </member>
+        <member name="P:Gentle.Framework.ForeignKeyAttribute.ForeignTable">
+            <summary>
+            The table to which this instance relates.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ForeignKeyAttribute.ForeignColumn">
+            <summary>
+            The column to which this instance relates.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.InheritanceAttribute">
+            <summary>
+            Use this attribute when mapping either multiple types to one table or one type
+            to multiple tables (this latter is not yet supported). 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.PrimaryKeyAttribute">
+            <summary>
+            Use this attribute to designate properties that are primary key columns. This
+            attribute must be present in addition to the <see cref="T:Gentle.Framework.TableColumnAttribute"/> 
+            attribute on all key properties.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.PrimaryKeyAttribute.AutoGenerated">
+            <summary>
+            Set this property to true for primary keys that are automatically assigned
+            by the database on insert (identity columns in SQL server terminology). 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.SequenceNameAttribute">
+            <summary>
+            Use this attribute to name the sequence used for auto-generated columns. Gentle
+            will use this sequence name when it is unable to obtain the information from
+            the database automatically. This is the case for a.o. Firebird. If this attribute
+            is not present, Gentle attempts to guess the sequence name from certain name
+            conventions (for details, consult the SqlFactory class for the provider).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SequenceNameAttribute.#ctor(System.String)">
+            <summary>
+            Construct a new SequenceName attribute. 
+            </summary>
+            <param name="sequenceName">The table to relate to</param>
+        </member>
+        <member name="P:Gentle.Framework.SequenceNameAttribute.Name">
+            <summary>
+            The name of the sequence used by an auto-generated column.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.SoftDeleteAttribute">
+            <summary>
+            <p>Use this attribute to designate the property holding the row version integer used
+            for concurrency control. Updates (for objects under concurrency control) will only
+            succeed if the version of the row being updated matches the objects version.</p> 
+            <p>Support for concurrency control using DateTime values is not supported.</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TableColumnAttribute">
+            <summary>
+            Use this attribute to identify the properties of <see cref="T:Gentle.Framework.Persistent"/> objects that map 
+            to table columns. If no map name is supplied the column and property name must be identical
+            (case differences are ignored). This attribute can also be used to override constraints,
+            such as to allow NULL values (defaults to false).
+            Note that metadata obtained directly from the database overrides anything (but the name)
+            specified as parameters to this attribute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor">
+            <summary>
+            Constructor for table columns that are named after their property counterpart
+            and whose value cannot be null.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor(System.Boolean)">
+            <summary>
+            Constructor for table columns that are named after their property counterpart.
+            </summary>
+            <param name="notNull">A boolean telling whether null values are allowed in the database</param>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor(System.String)">
+            <summary>
+            Constructor for table columns whose value cannot be null.
+            </summary>
+            <param name="name">The name of the database column</param>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor(System.String,System.Boolean)">
+            <summary>
+            Constructor for table columns.
+            </summary>
+            <param name="name">The name of the database column</param>
+            <param name="notNull">A boolean telling whether null values are allowed in the database</param>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.Name">
+            <summary>
+            The name of the database column for storing the property decorated with this attribute.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NotNull">
+            <summary>
+            This property (defaults to true) can be used to specify whether NULL values are
+            allowed in the database. This allows the framework to fail early if a constraint
+            is violated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.DbType">
+            <summary>
+            The database type of the field in the database. Beware that the DbType enumeration
+            values are NOT the ones used by the individual providers. Gentle does NOT convert
+            the DbType to a "best match" for the provider. It is therefore recommended that 
+            you use the DatabaseType below until a better type definition system is available.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.DatabaseType">
+            <summary>
+            The database type of the field in the database. Convert the actual database type
+            enumeration to a long by casting it in the declaration.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.Size">
+            <summary>
+            The size or length of the field in the database. String properties will be clipped
+            to fit.
+            This feature will obsoleted once Gentle is capable of extracting type and size 
+            information directly from the database. If specified, the values must match
+            those extracted from the database (when implemented).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.HasDbType">
+            <summary>
+            This property indicates whether a DbType was specified. This construct is necessary
+            because the DbType enum has no value for undefined.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.MagicValue">
+            <summary>
+            Obsolete, use NullValue instead.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NullValue">
+            <summary>
+            This value of this property is used when a column is NotNull and the property value
+            is null.  If this is undefined the framework will throw an error for NotNull columns
+            whose values are null.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NullValue_int">
+            <summary>
+            This property allows type-safe setting of the NullValue for VB users.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NullValue_opt">
+            <summary>
+            This property allows type-safe setting of the NullValue for VB users.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.IsReadOnly">
+            <summary>
+            This value indicates that the column should not be set on insert and update. It is
+            primarily useful for columns that are set internally by the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.IsUpdateAfterWrite">
+            <summary>
+            This value indicates that the column must be read after each insert and update. It is
+            primarily useful for columns that are set internally by the database. Note that using
+            this feature (by setting this to true for any column) will significantly impact 
+            performance for the worse, as for every update/insert another select will be 
+            performed. Also, fields will be updated using reflection after select, which is also
+            quite slow (depending on the number of columns).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.HandleEnumAsString">
+            <summary>
+            If member which has this attribute attached is enum then this property
+            indicates wheter framework saves it as string or as integer.
+            Default is false, ie enums are saved as integers
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TableNameAttribute">
+            <summary>
+            Use this attribute on classes that should be persistable. Only classes decorated
+            with this attribute are supported by the persistence framework.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableNameAttribute.#ctor(System.String)">
+            <summary>
+            The constructor for the TableName attribute.
+            </summary>
+            <param name="name">The name of the database table used to store instances of this class.</param>
+        </member>
+        <member name="M:Gentle.Framework.TableNameAttribute.#ctor(System.String,Gentle.Common.CacheStrategy)">
+            <summary>
+            The constructor for the TableName attribute.
+            </summary>
+            <param name="name">The name of the database table used to store instances of this class.</param>
+            <param name="strategy">The cache stratgey to use for instances of this type. <see 
+            cref="P:Gentle.Framework.TableNameAttribute.CacheStrategy"/> for a list of available options.</param>
+        </member>
+        <member name="P:Gentle.Framework.TableNameAttribute.Name">
+            <summary>
+            The name of the database table used to store instances of this class.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableNameAttribute.Schema">
+            <summary>
+            The optional schema name with which to prefix the table name in queries.
+            This value overrides the default schema definition (if present) in the
+            configuration file. Note: this property is currently unused. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableNameAttribute.CacheStrategy">
+            <summary>
+            The cache behavior for objects of this type. <see cref="P:Gentle.Framework.TableNameAttribute.CacheStrategy"/> 
+            for a list of available options.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Broker">
+            <summary>
+            This class is one of the main access point into the persistence framework. It exists
+            to complement the PersistenceBroker class, which you should use if you want to access
+            multiple databases or use multiple providers in a single project.
+            </summary>
+            <remarks>
+            The broker is a simple proxy class that interacts with the default database provider
+            through an instance of the PersistenceBroker class. This is convenient when you're only
+            using a single database (and implied only a single provider) in your project.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Framework.Broker.ClearPersistenceBroker">
+            <summary>
+            Clear the current PersistenceBroker instance used by the Broker class. This is
+            useful if you have changed the Config.DefaultProvider setting.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Broker.ProviderName">
+            <summary>
+            Returns the class name of the current database engine.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Broker.SessionBroker">
+            <summary>
+            Returns the PersistenceBroker instance used by this thread.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Broker.Provider">
+            <summary>
+            Return the currently used IGentleProvider instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetStatement(System.String)">
+            <summary>
+            Get a new SqlStatement instance for fully specified queries.
+            </summary>
+            <param name="sql">The entire SQL string to use for this statement. The statement
+            type is determined from the SQL string. If the type cannot be determined the query 
+            is executed using ExecuteNonQuery.</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetStatement(Gentle.Framework.StatementType,System.String)">
+            <summary>
+            Get a new SqlStatement instance for fully specified queries.
+            </summary>
+            <param name="sql">The entire SQL string to use for this statement</param>
+            <param name="stmtType">The statement type. Select statements are executed using
+            ExecuteReader. Insert, Update and Delete are executed using ExecuteNonQuery. 
+            Count is executed using ExecuteScalar.</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetSqlFactory">
+            <summary>
+            Get a new GentleSqlFactory instance for the current database engine. The SqlFactory
+            encapsulates database specific differences and allows the <see cref="T:Gentle.Framework.SqlBuilder"/> 
+            to generate queries compatible with the current engine.
+            </summary>
+            <returns>An ISqlFactory implementation instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetNewConnection">
+            <summary>
+            Get a new database connection from the current persistence engine. Remember to
+            close and release the connection when done with it.
+            </summary>
+            <returns>A new IDbConnection instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve data for the specified type. Throws an exception for unsupported types.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Refresh(System.Object)">
+            <summary>
+            Refresh the properties of the given object with the values from the
+            database. This is essentially a Retrieve operation, but instead of
+            returning a new object, the existing is updated. This allows it to be
+            used within constructors.
+            Throws an exception for unsupported types.
+            </summary>
+            <param name="obj">The object instance to update</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.Broker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <param name="type">The type of object to retrieve</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.Broker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <param name="type">The type of object to create</param>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.TryRetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type,System.Collections.IList)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="key">The key containing any constraints</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key containing any constraints</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Persist(Gentle.Framework.IEntity)">
+            <summary>
+            Persist (insert or update) an object. 
+            Updates the Id property of AutoPersistent objects on insert.
+            </summary>
+            <param name="entity">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Insert(System.Object)">
+            <summary>
+            Insert an object. This updates the identity property of objects with
+            autogenerated primary keys.
+            </summary>
+            <param name="obj">The object to insert</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Update(System.Object)">
+            <summary>
+            Update an existing object.
+            </summary>
+            <param name="obj">The object to update</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Remove(System.Object)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="obj">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Remove(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Remove``1(Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(System.String)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(System.String,System.Data.IDbConnection)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(System.String,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbConnection)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RegisterStatement(System.String,Gentle.Framework.SqlStatement)">
+            <summary>
+            Associate an SqlStatement with a system type (must be a descendant of Persistent).
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <param name="stmt">The SQL statement object</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetRegisteredStatement(System.String)">
+            <summary>
+            Retrieve a previously registered SqlStatement.
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <returns>The previously registered SQL statement (if any)</returns>
+        </member>
+        <member name="T:Gentle.Framework.ContextPersistent">
+            <summary>
+            <p>This class is currently work in progress and is not intended for general consumption.</p>
+            <p>This class is intended as an alternate base class for new persistent business objects.
+            By inheriting from <see cref="T:System.ContextBoundObject"/> it is possible to automatically flag
+            the object instance as dirty when persistent properties are modified, support lazy loading,
+            perform parameter validation and code assertions. The downside to all of this is a heavy
+            performance cost.</p>
+            <p>This class is also intended as an example of how you can create your own base class
+            for persistent objects. It is currently work-in-progress.</p>
+            <p>As much of the IPersistent interface as possible should be provided by this class.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.#ctor">
+            <summary>
+            Use this constructor for new (unpersisted) instances.
+            The default provider will be used to access the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.#ctor(System.Int32,System.Boolean,Gentle.Framework.PersistenceBroker)">
+            <summary>
+            This is the generic base constructor will a full argument set.
+            </summary>
+            <param name="version">The version of this record in the database or 0 for new instances.</param>
+            <param name="isPersisted">A boolean to indicate whether this object has been persisted.</param>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+        </member>
+        <member name="P:Gentle.Framework.ContextPersistent.IsPersisted">
+            <summary>
+            True if this object instance has been persisted to the database. Updates to
+            properties of this instance since does not change the value of this property,
+            whose sole purpose is to determine if the object needs to be inserted or updated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ContextPersistent.ValidationMessages">
+            <summary>
+            Validation messages reported by the validation framework.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.GetKey">
+            <summary>
+            Abstract method for subclasses to implement. It should return a <see cref="T:Gentle.Framework.Key"/> 
+            instance containing all the primary key properties of this object.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Persist">
+            <summary>
+            Persist the current instance to the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Persist the current instance to the database as part of the given transaction.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Remove">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Remove(Gentle.Framework.Transaction)">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Refresh">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Refresh(Gentle.Framework.Transaction)">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key.
+            </summary>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Retrieve(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key. This method will
+            throw an exception if not exactly one row in the database matches.
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance of the specified type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.RetrieveList(System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.RetrieveList(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.RetrieveList(System.Type,System.String[])">
+            <summary>
+            Retrieve a list of objects of the given type constrained by the properties of
+            this object instance.
+            </summary>
+            <param name="type">The type of objects being retrieved</param>
+            <param name="propertyNames">A list of property names on the current object</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="P:Gentle.Framework.ContextPersistent.SessionBroker">
+            <summary>
+            The session broker provides a lock to the database engine. This is
+            useful when connecting to multiple databases in a single application.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleBase">
+            <summary>
+            This class is an extension of the Persistent class providing an integer primary key
+            field and concurrency control. You may inherit from this class if this is suitable,
+            and otherwise use it as inspiration for your own base class. The database columns
+            must be named "Id" and "DatabaseVersion" respectively, if you are to use this class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleBase.#ctor">
+            <summary>
+            This is the default constructor for new (unpersisted) instances.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleBase.#ctor(System.Int32)">
+            <summary>
+            This is the default constructor for existing (persisted) instances. The created
+            object instance is refreshed using data read from the database. Note: using this
+            method is considerably slower than using a full constructor. If performance is
+            important you should add a static Retrieve method to your subclass and use it in
+            place of this for fetching objects (or call the Broker directly).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleBase.#ctor(System.Int32,System.Int32)">
+            <summary>
+            This is the generic base constructor will a full argument set.
+            </summary>
+            <param name="id">The primary key identity value of this instance.</param>
+            <param name="version">The version of this record in the database or 0 for new instances.</param>
+        </member>
+        <member name="P:Gentle.Framework.GentleBase.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleBase.Id">
+            <summary>
+            The primary key field. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleList">
+            <summary>
+            This is a container class for managed storage of objects. Work in progress.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(System.Type)">
+            <summary>
+            Use this constructor to create lists of persistent objects that are not related to 
+            a parent object. This class automatically calls Persist() and Remove() on objects 
+            when they are added or removed from the list.
+            </summary>
+            <param name="containedType">The type of objects to store. The given type must be a 
+            descendant of the Persistent class or implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(System.Type,Gentle.Framework.IPersistent)">
+            <summary>
+            Use this constructor to create lists that represent 1:n relations. The relations between
+            the contained objects and the parent instance are automatically maintained. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list.
+            </summary>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(System.Type,Gentle.Framework.IPersistent,System.Type,System.Type[])">
+            <summary>
+            Use this constructor to create lists that represent n:m relations. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list. Additionally, the relation objects linking the parent and the contained 
+            objects are automatically created and destroyed as objects are added or removed from 
+            the list, thus making the n:m relationship transparent to clients.
+            </summary>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="viaType">The type of objects used to represent the n:m relationship.</param>
+            <param name="relationTypes">Additional types from which to extract information when 
+            creating relations. This is only used in n:m scenarios and permits you to have
+            relation tables with more than just two columns. The PK is extracted from the
+            specified types (so you cannot use any member; only PKs can be stored).</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Use this constructor to create lists of persistent objects that are not related to 
+            a parent object. This class automatically calls Persist() and Remove() on objects 
+            when they are added or removed from the list.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+            <param name="containedType">The type of objects to store. The given type must be a 
+            descendant of the Persistent class or implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.IPersistent)">
+            <summary>
+            Use this constructor to create lists that represent 1:n relations. The relations between
+            the contained objects and the parent instance are automatically maintained. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.IPersistent,System.Type,System.Type[])">
+            <summary>
+            Use this constructor to create lists that represent n:m relations. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list. Additionally, the relation objects linking the parent and the contained 
+            objects are automatically created and destroyed as objects are added or removed from 
+            the list, thus making the n:m relationship transparent to clients.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="viaType">The type of objects used to represent the n:m relationship.</param>
+            <param name="relationTypes">Additional types from which to extract information when 
+            creating relations. This is only used in n:m scenarios and permits you to have
+            relation tables with more than just two columns. The PK is extracted from the
+            specified types (so you cannot use any member; only PKs can be stored).</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Find(Gentle.Framework.Key)">
+            <summary>
+            Search the list of contained objects for an entry whose key matches the given key. The
+            first match is returned or null if no match was found.
+            </summary>
+            <param name="key">The key identifying the object to retrieve.</param>
+            <returns>The first object matching the key.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Add(System.Object)">
+            <summary>
+            Add an object to the list. For 1:n relations, any references on the object being added
+            to the parent of the list will be updated to match the parents current values, and the 
+            object will be inserted if it is a new one. For n:m relations, a new relation object is
+            created and inserted (the object itself is never persisted).
+            </summary>
+            <param name="value">The object to add to the list</param>
+            <returns>The index of the newly added object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Add(System.Object,System.Object[])">
+            <summary>
+            Add an object to the list. For 1:n relations, any references on the object being added
+            to the parent of the list will be updated to match the parents current values, and the 
+            object will be inserted if it is a new one. For n:m relations, a new relation object is
+            created and inserted (the object itself is never persisted).
+            </summary>
+            <param name="value">The object to add to the list</param>
+            <param name="relatedObjects">A list of values to use when creating the n:m relation 
+            object.</param>
+            <returns>The index of the newly added object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Add(Gentle.Framework.Transaction,System.Object,System.Object[])">
+            <summary>
+            Add an object to the list. For 1:n relations, any references on the object being added
+            to the parent of the list will be updated to match the parents current values, and the 
+            object will be inserted if it is a new one. For n:m relations, a new relation object is
+            created and inserted (the object itself is never persisted).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="value">The object to add to the list</param>
+            <param name="relatedObjects">A list of values to use when creating the n:m relation 
+            object.</param>
+            <returns>The index of the newly added object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.AddRange(System.Collections.ICollection)">
+            <summary>
+            Add a list of objects to the list.
+            </summary>
+            <param name="collection">The collection of objects to add to the list.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Remove(System.Object)">
+            <summary>
+            Remove an object from the list. For 1:n relations, if the object is persisted it will also
+            be removed from the database. For n:m relations, the relation object is removed (the object 
+            being removed is left untouched and must manually be removed if so desired).
+            </summary>
+            <param name="value">The object to remove from the list</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Remove(Gentle.Framework.Transaction,System.Object)">
+            <summary>
+            Remove an object from the list. For 1:n relations, if the object is persisted it will also
+            be removed from the database. For n:m relations, the relation object is removed (the object 
+            being removed is left untouched and must manually be removed if so desired).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="value">The object to remove from the list</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.RemoveAt(System.Int32)">
+            <summary>
+            Remove an object from the list. For 1:n relations, if the object is persisted it will also
+            be removed from the database. For n:m relations, the relation object is removed (the object 
+            being removed is left untouched and must manually be removed if so desired).
+            </summary>
+            <param name="index">The index of the object to remove from the list</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Persist">
+            <summary>
+            Recursively persist all objects in list. This method will do nothing for n:m relations.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Recursively persist all objects in list. This method will do nothing for n:m relations.
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+        </member>
+        <member name="T:Gentle.Framework.Key">
+            <summary>
+            The Key class is used to encapsulate sets of related key/value pairs, such as
+            statement parameters, primary keys, etc.
+            </summary>
+            <remarks>
+            </remarks>
+        </member>
+        <member name="F:Gentle.Framework.Key.isPropertyKeys">
+            <summary>
+            This value is false when the key contains column names as indexers.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Key.source">
+            <summary>
+            The type from which the key values have been gathered (null if not applicable)
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Key.tableName">
+            <summary>
+            The table name to use for queries made using the current key instance. When
+            this value is null the default table name (from the TableName attribute) is used.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Type,System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Type,System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Type,System.Boolean,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify a single key/value pair to add.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for a value to be added to this key.</param>
+            <param name="value1">The value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Type,System.Boolean,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify a single key/value pair to add.
+            </summary>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for a value to be added to this key.</param>
+            <param name="value1">The value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Boolean,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify a single key/value pair to add.
+            </summary>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for a value to be added to this key.</param>
+            <param name="value1">The value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Type,System.Boolean,System.String,System.Object,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify two key/value pairs to add.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for the first value to be added to this key.</param>
+            <param name="value1">The first value to be added to this key.</param>
+            <param name="name2">The name used as index for the second value to be added to this key.</param>
+            <param name="value2">The second value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Type,System.Boolean,System.String,System.Object,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify two key/value pairs to add.
+            </summary>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for the first value to be added to this key.</param>
+            <param name="value1">The first value to be added to this key.</param>
+            <param name="name2">The name used as index for the second value to be added to this key.</param>
+            <param name="value2">The second value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Boolean,System.String,System.Object,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify two key/value pairs to add.
+            </summary>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for the first value to be added to this key.</param>
+            <param name="value1">The first value to be added to this key.</param>
+            <param name="name2">The name used as index for the second value to be added to this key.</param>
+            <param name="value2">The second value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.Add(System.String,System.Object)">
+            <summary>
+            Add or update a value stored in the key.
+            </summary>
+            <param name="name">The name of the entry</param>
+            <param name="value">The associated value</param>
+        </member>
+        <member name="P:Gentle.Framework.Key.Item(System.String)">
+            <summary>
+            Default property that allows us to use "key[ keyName ]" to access the keys
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Key.SourceType">
+            <summary>
+            The type from which the key values have been gathered (null if not applicable). If the
+            object type being selected is different from the source type the contained keys are
+            assumed to be foreign keys and translated to the target type before being applied as
+            constraints.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Key.TableName">
+            <summary>
+            Returns the table name associated with this key or null if none has been set. The
+            table name specified on a key overrides the table name specified in the TableName
+            attribute and thus allows dynamic mapping of objects to multiple tables.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Key.IsPrimaryKeyFields(Gentle.Framework.ObjectMap,System.Boolean)">
+            <summary>
+            Returns a boolean value indicating whether the current key instance contains exactly
+            the fields compromising the primary key fields of the given type. This is used to 
+            determine whether a cached statement can be used (non-primary key select statements 
+            are not cached).
+            </summary>
+            <param name="map">The ObjectMap describing a type and its table mapping.</param>
+            <param name="ignoreConcurrencyColumn"></param>
+            <returns>True if the key contains only and exactly the primary key fields of the 
+            given type.</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,Gentle.Framework.Key,System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="members">The names of the properties to include in the key</param>
+            <returns>The key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.Key,System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="members">The names of the properties to include in the key</param>
+            <returns>The key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a new key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="properties">The names of the properties to include in the key</param>
+            <returns>The requested key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a new key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="properties">The names of the properties to include in the key</param>
+            <returns>The requested key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,Gentle.Framework.Key,System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.Key,System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.ToString">
+            <summary>
+            Calling this method returns the current key instance as a comma-separated list of key=value 
+            pairs enclosed in a parenthesis.
+            </summary>
+            <returns>The string representation of this key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetHashCode">
+            <summary>
+            Obtain the hashcode of this key instance. This is calculated as the sum of all 
+            hashcodes of all keys and values.
+            </summary>
+            <returns>The hashcode of this Key instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.Equals(System.Object)">
+            <summary>
+            Compare this key instance to another object. 
+            </summary>
+            <param name="obj">The object to compare this instance to</param>
+            <returns>True if the object passed is a Key instance with identical hashcode value</returns>
+        </member>
+        <member name="T:Gentle.Framework.Persistent">
+            <summary>
+            <p>This class is intended as a base class for new persistent business objects,
+            in order to save the developer from as much work as possible. 
+            As much of the IPersistent interface as possible should be provided by this class.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.#ctor">
+            <summary>
+            Use this constructor for new (unpersisted) instances.
+            The default provider will be used to access the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.#ctor(System.Boolean)">
+            <summary>
+            Use this constructor for both new and persisted instances. 
+            The default provider will be used to access the database.
+            </summary>
+            <param name="isPersisted">A boolean to indicate whether this object has been persisted.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.#ctor(System.Boolean,Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Use this This is the recommended constructor
+            The supplied PersistenceBroker instance will be used to access the database.
+            </summary>
+            <param name="isPersisted">A boolean to indicate whether this object has been persisted.</param>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+        </member>
+        <member name="P:Gentle.Framework.Persistent.IsPersisted">
+            <summary>
+            True if this object instance has been persisted to the database. Updates to
+            properties of this instance since does not change the value of this property,
+            whose sole purpose is to determine if the object needs to be inserted or updated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Persistent.ValidationMessages">
+            <summary>
+            Validation messages reported by the validation framework.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Persistent.CacheKey">
+            <summary>
+            Construct a unique string identifying this instance (for caching purposes).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.GetKey">
+            <summary>
+            Abstract method for subclasses to implement. It should return a <see cref="T:Gentle.Framework.Key"/> 
+            instance containing all the primary key properties of this object.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Persist">
+            <summary>
+            Persist the current instance to the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Persist the current instance to the database as part of the given transaction.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Remove">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Remove(Gentle.Framework.Transaction)">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Refresh">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Refresh(Gentle.Framework.Transaction)">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key.
+            </summary>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Retrieve(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key. This method will
+            throw an exception if not exactly one row in the database matches.
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance of the specified type</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.RetrieveList(System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.RetrieveList(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.RetrieveList(System.Type,System.String[])">
+            <summary>
+            Retrieve a list of objects of the given type constrained by the properties of
+            this object instance.
+            </summary>
+            <param name="type">The type of objects being retrieved</param>
+            <param name="propertyNames">A list of property names on the current object</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="T:Gentle.Framework.Operator">
+            <summary>
+            Enumeration of the comparison operators supported in SQL statements.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.Equals">
+            <summary>
+            This is the equals operator for strict equality comparisons. The framework automatically
+            uses the correct syntax for null value comparisons.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.NotEquals">
+            <summary>
+            This is the negated equals operator. The framework automatically uses the correct syntax 
+            for null value comparisons.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.Like">
+            <summary>
+            This is the equals operator for partial equality comparisons. The parameter value 
+            should be a string to match with percent characters used as wildcards.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.NotLike">
+            <summary>
+            This is the negated equals operator for partial equality comparisons. The parameter value 
+            should be a string to match with percent characters used as wildcards. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.LessThan">
+            <summary>
+            This is the less than operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.LessThanOrEquals">
+            <summary>
+            This is the less than or equals operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.GreaterThan">
+            <summary>
+            This is the greater than operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.GreaterThanOrEquals">
+            <summary>
+            This is the greater than or equals operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.In">
+            <summary>
+            This is the in operator which tests for set membership. Constraints using Operator.In can 
+            only be added by specifying a list of elements (though the lists may contain 0 or 1 elements). 
+            For details, please refer to the corresponing SqlBuilder.AddConstraint methods. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.NotIn">
+            <summary>
+            This is the negated in operator which tests for set non-membership.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.LogicalOperator">
+            <summary>
+            Enumeration of the logic operators supported in SQL statements. This LogicOperators can only be 
+            used under with customConstraints. For details, please refer to the AddConstraint 
+            method that accepts this as a parameter.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.LogicalOperator.And">
+            <summary>
+            This is the AND operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.LogicalOperator.Or">
+            <summary>
+            This is the OR operator
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.SqlBuilder">
+            <summary>
+            	<p>This class can be used to construct instances of the <see cref="T:Gentle.Framework.SqlStatement"/> class. As such,
+            its use is comparable to that of the <see cref="T:System.Text.StringBuilder"/> class.</p>
+            	<p>Using this class it is easy to construct fairly complex queries for supported types (see
+            <see cref="T:Gentle.Framework.TableNameAttribute"/>).</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Type)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type
+            for the specified business class type.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Type,Gentle.Framework.LogicalOperator)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type
+            for the specified business class type.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+            <param name="logicalOperator">The logic operator used with constraints (can be either AND or OR)</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type.
+            </summary>
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider,Gentle.Framework.StatementType)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type.
+            </summary>
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider,Gentle.Framework.StatementType,System.Type)">
+            <summary> Construct a new SqlBuilder instance for constructing a statement of the 
+            given type for the specified business class type.
+            </summary> 
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider,Gentle.Framework.StatementType,System.Type,Gentle.Framework.LogicalOperator)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type
+            for the specified business class type.
+            </summary>
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+            <param name="logicalOperator">The logic operator used with constraints (can be either AND or OR)</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetStatementType(Gentle.Framework.StatementType)">
+            <summary>
+            Set the type of statement (select/insert/update/delete) to construct.
+            </summary>
+            <param name="stmtType"></param>
+        </member>
+        <member name="P:Gentle.Framework.SqlBuilder.ParameterPrefix">
+            <summary>
+            <p>The character or string used to prefix parameters in SQL statements.</p>
+            <p>The value of this property varies between different persistence engines.</p>
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlBuilder.ParameterSuffix">
+            <summary>
+            <p>The character or string used to suffix parameters in SQL statements.</p>
+            <p>The value of this property varies between different persistence engines.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            <p>Get the statement for retrieving last inserted row id for auto-generated id columns.</p>
+            <p>The value of this property varies between different persistence engines.</p>
+            </summary>
+            <param name="sql"></param>
+            <param name="om"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetTable(System.String)">
+            <summary>
+            Set the name of the table to operate on.
+            </summary>
+            <param name="name">The table name to use in the constructed query.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetTable(System.Type)">
+            <summary>
+            Set the name of the table to operate on from the TableName attribute of the given type.
+            </summary>
+            <param name="type">The type from which to extract the table name.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetRowLimit(System.Int32)">
+            <summary>
+            Set the maximum number of rows to return. This setting is only used with select statements.
+            </summary>
+            <param name="rowLimit">The maximum number of rows to return. If the value is 0 or less no
+            restrictions will be applied.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetRowOffset(System.Int32)">
+            <summary>
+            Set the maximum number of rows to return. This setting is only used with select statements.
+            </summary>
+            <param name="rowOffset">The number of rows to skip. If the value is 0 or less no
+            restrictions will be applied.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddOrderByField(System.Boolean,System.String)">
+            <summary>
+            Add a property by which the result should be sorted. Multiple fields can be added and will
+            be used in the order they are given. 
+            This setting is only used with select statements.
+            </summary>
+            <param name="isAscending">Specifies the sort order applied to the given field</param>
+            <param name="fieldName">The name of the property by which to order the result</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddOrderByField(System.String)">
+            <summary>
+            Add a custom clause to the order by section of the SQL statement.
+            </summary>
+            <param name="orderClause">The clause to add to the order by section. Examples for
+            this parameter might be "name ASC" or "COALESCE(NameDE, NameEN) ASC".</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddFields(System.Type)">
+            <summary>
+            Add all properties carrying the TableColumn attribute as fields (e.g. as selected columns
+            for select statements).
+            </summary>
+            <param name="type">The type to process.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddKeyFields(System.Type,System.Boolean)">
+            <summary>
+            Add all properties carrying both the TableColumn and PrimaryKey attributes
+            as either fields or parameters.
+            </summary>
+            <param name="type"></param>
+            <param name="isParameter"></param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraints(System.Type)">
+            <summary>
+            Add all properties carrying both the TableColumn and PrimaryKey attributes
+            as constraint parameters.
+            </summary>
+            <param name="type">The type to process.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraints(System.Type,System.Boolean)">
+            <summary>
+            Add all properties carrying both the TableColumn and PrimaryKey attributes
+            as constraint parameters.
+            </summary>
+            <param name="type">The type to process.</param>
+            <param name="isWithConcurrency">True if concurrency restrictions should be applied.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraints(Gentle.Framework.Operator,System.Object[])">
+            <summary>
+            Add all specified constraint parameters. The fields array must contain pairs
+            consisting of a field name and its type. 
+            </summary>
+            <param name="op">The operator used in the constraint</param>
+            <param name="fields">The fields to constrain on. Property names are preferred but
+            column names can alse be used.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,System.Object)">
+            <summary>
+            Add a single fixed constraint with the given value and operator.
+            Case insensitive on the LIKE operator.
+            </summary>
+            <param name="op">The operator used in the constraint</param>
+            <param name="field">The field to constrain on. Property names are preferred but
+            column names can alse be used.</param>
+            <param name="value">The value used in the constraint</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,System.Object,System.Boolean)">
+            <summary>
+            Add a single fixed constraint with the given value and operator.
+            </summary>
+            <param name="op">The operator used in the constraint</param>
+            <param name="field">The field to constrain on. Property names are preferred but
+            column names can alse be used.</param>
+            <param name="value">The value used in the constraint</param>
+            <param name="isCaseSensitive">The indicator for setting the LIKE operator case sensitive</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,Gentle.Framework.FieldMap,System.Collections.ICollection,Gentle.Framework.FieldMap)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="fieldMap">The FieldMap instance for the field to constrain. The framework 
+            assumes property names but
+            also checks column names if no property could be found.</param>
+            <param name="data">The set of data to constrain on.</param>
+            <param name="constraintMap">If the constraint data set holds objects this is the property
+            name to gather from all objects. If the data set is an SqlResult this is the column name
+            to use from all rows. String-type fields are quoted, all other types are not. This method
+            performs no additional type checking and is likely to fail (when the statement is executed)
+            for esoteric types such as decimals or dates.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,System.Collections.ICollection,System.String)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="field">The name of the field to constrain. Gentle assumes a property name
+            is specified but also checks for column names if no property matched.</param>
+            <param name="data">The set of data to use in the constraint.</param>
+            <param name="constraintField">If the constraint data set holds objects this is the property
+            name whose values will be gathered from all objects. If null is passed the data collection
+            is treated as list of plain values.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,Gentle.Framework.SqlResult,System.String)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="field">The field to constrain. The framework assumes property names but
+            also checks column names if no property could be found.</param>
+            <param name="sr">The SqlResult containing the data used to constrain the field.</param>
+            <param name="constraintField">This is the column name to use from all rows in the SqlResult. 
+            String-type fields are quoted, all other types are not. This method performs no additional 
+            type checking and is likely to fail (when the statement is executed) for esoteric types 
+            such as decimals or dates.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,Gentle.Framework.SqlResult)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="field">The field to constrain. The framework assumes property names but
+            also checks column names if no property could be found.</param>
+            <param name="sr">The SqlResult containing the data used to constrain the field. The
+            SqlResult must either contain only one column or contain a column named as the field
+            parameter.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(System.String)">
+            <summary>
+            Add a custom constraint as a single specified constraint clause. Use this for
+            subselects or other "complicated" constraints (unfortunately, these cannot be 
+            parameterized at the moment). This method will use the logicOperator, therefore
+            if you have used a <see cref="T:Gentle.Framework.LogicalOperator"/> it will be used here.
+            </summary>
+            <param name="clause">A valid constraint clause.</param>
+            <example>AddConstraint( "SUM(MemberCount) > 5" )</example>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsOperatorBegin(Gentle.Framework.Operator,System.Boolean)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string between the column name and the parameter value.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <param name="isValueNull">This parameter indicates whether the value of the parameter is null. This
+            is required because different operators must be used for null equality checls.</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsOperatorEnd(Gentle.Framework.Operator)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string after the parameter value. This string is usually empty.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsCommaList(System.Collections.ICollection)">
+            <summary>
+            This method will convert a list of field names into a comma delimited string of 
+            unquoted field names.
+            </summary>
+            <param name="fields">The fields to delimit.</param>
+            <returns>The comma delimited field list.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsCommaList(System.Collections.ICollection,System.Boolean)">
+            <summary>
+            This method will convert a list of field names into a comma delimited string of 
+            field names. Quoting of the individual fields is optional.
+            </summary>
+            <param name="fields">The fields to delimit.</param>
+            <param name="quoteFields">Whether to apply quotes around the fields.</param>
+            <returns>The coma delimited field list.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetTopLimit">
+            <summary>
+            This method returns the SQL string for restricting the number of rows if a limit
+            has been specified and the empty string otherwise. 
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetRowLimit">
+            <summary>
+            This method returns the SQL string for restricting the number of rows if a limit
+            has been specified and the empty string otherwise. 
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetRowOffset">
+            <summary>
+            This method returns the SQL string for skipping past a number of rows. This is useful
+            in combination with RowLimit for paging of data. 
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsFieldUpdateList">
+            <summary>
+            This method will format a list of fields for use in an update statement.
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsParameterList(System.Collections.ICollection)">
+            <summary>
+            This method will format a list of fields as parameters for use in an sql statement.
+            </summary>
+            <param name="fields">The fields that are being updated.</param>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsParameter(System.String)">
+            <summary>
+            This method will format a single field name as a parameter for use in an sql statement.
+            </summary>
+            <param name="name">The parameter name.</param>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetConstraints">
+            <summary>
+            This method aggregates all the constraints specified previously by calls to the
+            SqlBuilder.AddConstraint methods.
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetOrderBy">
+            <summary>
+            This method returns the "order by" clause formatted for use in SQL queries.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.Format(System.String,System.Object[])">
+            <summary>
+            This method formats a string and is merely a shortcut ro the String.Format method.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddParameter(System.String,Gentle.Framework.FieldMap)">
+            <summary>
+            Add a parameter to the current statement.
+            </summary>
+            <param name="name">The parameter name to use if not the column name defined in the FieldMap</param>
+            <param name="fm">The FieldMap describing this parameter</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddParameter(System.String,System.Type)">
+            <summary>
+            Add a parameter to the current statement.
+            </summary>
+            <param name="name">The name of this parameter.</param>
+            <param name="type">The system type of this parameter.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddParameter(System.String,System.Int64)">
+            <summary>
+            Add a parameter to the current statement.
+            </summary>
+            <param name="name">The name of this parameter.</param>
+            <param name="dbType">The database type of this parameter.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.ToString">
+            <summary>
+            Construct and emit the SQL string represented by this instance. Note that this method
+            will convert any double spaces into a single space (this also affects non-parameterized
+            query parameters embedded in the SQL string). 
+            </summary>
+            <returns>The SQL string which would be in the generated <see cref="T:Gentle.Framework.SqlStatement"/> class.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatementExplicit">
+            <summary>
+            Construct an SqlStatement object using the current state of this SqlBuilder instance.
+            This method is different from the other GetStatement methods in that it does not add
+            any fields to select or perform any other magic behind the scenes.
+            </summary>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement(Gentle.Framework.StatementType,System.Type)">
+            <summary>
+            Build a persistence engine specific SQL statement for the given type.
+            </summary>
+            <param name="stmtType">Type of statement to produce (select/insert/update/delete)</param>
+            <param name="type">The object class/type</param>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement(System.Boolean)">
+            <summary>
+            Build a persistence engine specific SQL statement. The object class and statement type must
+            have been set prior to calling this method.
+            </summary>
+            <param name="isCollection">For select statements, whether to return a list of items. If this
+            value is true the primary key field(s) will be used as constraint in the query (if it is
+            false, no constraints are automatically added by Gentle).</param>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement">
+            <summary>
+            Build a persistence engine specific SQL statement. The object class and statement type must
+            have been set prior to calling this method. When used with a select statement this method
+            assumes that your are selecting multiple objects and will not apply any constraints (aside
+            from those manually added).
+            </summary>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement(Gentle.Framework.StatementType,System.String,System.Type,System.Boolean)">
+            <summary>
+            Build a persistence engine specific SQL statement for the given object class, using the
+            class name as table name and properties for columns.
+            </summary>
+            <param name="stmtType">Type of statement to produce (select/insert/update/delete)</param>
+            <param name="tableName">The table name to use in the constructed query or null to use 
+            the table name associated with the type</param>
+            <param name="type">The object class/type</param>
+            <param name="isCollection">For select statements, whether to return a list of items</param>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="T:Gentle.Framework.SqlResult">
+            <summary>
+            The SqlResult class serves as a multi-purpose encapsulation of query results, 
+            including access to error codes and information on sql errors, query info 
+            (rows affected/returned), and similar information.
+            </summary>
+            <remarks>
+            <p>Use the <see cref="T:Gentle.Framework.ObjectFactory"/> class to construct instances of objects
+            or create lists of identical objects from an instance of this class.</p>
+            <p>The <see cref="T:Gentle.Framework.Broker"/> class contains convenience methods for bypassing
+            the manual call to the <see cref="T:Gentle.Framework.ObjectFactory"/> and is able to return the
+            object directly.</p>
+            </remarks>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Int32,Gentle.Framework.SqlStatement)">
+            <summary>
+            Constructor for ExecuteNonQuery results.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="rowsAffected">The number of rows affected by the query</param>
+            <param name="stmt">The SqlStatement leading to this SqlResult</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Exception)">
+            <summary>
+            Constructor for error conditions.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="error">The exception raised by the .NET framework</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Object,Gentle.Framework.SqlStatement)">
+            <summary>
+            Constructor for ExecuteScalar results.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="retval">The object returned by the .NET database provider.</param>
+            <param name="stmt">The SqlStatement leading to this SqlResult</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Data.IDataReader,Gentle.Framework.SqlStatement)">
+            <summary>
+            Constructor that reads and encapsulates results from the data reader. The maximum
+            number of rows to retrieve is obtained from the SqlStatement parameter.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="dr">The DataReader instance to read from</param>
+            <param name="stmt">The SqlStatement leading to this SqlResult</param>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.ErrorCode">
+            <summary>
+            <p>The error code returned by the RDBMS from execution the query.</p>
+            <p>TODO: These codes need to be standardised - in its current state only the error
+            code 0 for success is guaranteed. All other error codes are vendor specific.</p>
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Error">
+            <summary>
+            The exception raised (or null if none) while trying to execute a query. This may be
+            anything raised by the data provider or a <see cref="T:Gentle.Common.GentleException"/> instance
+            if raised by the framework.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.ErrorMessage">
+            <summary>
+            The error message of the exception (in case one was raised, empty otherwise).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.RowsContained">
+            <summary>
+            Returns the number of rows contained in this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.RowsAffected">
+            <summary>
+            Returns the number of rows affected by the last query, when applicable.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.LastRowId">
+            <summary>
+            Returns the row identity generated by the database for the insert query, or
+            0 if no identity was generated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Count">
+            <summary>
+            Returns the number of rows selected in a Count statement or 0 otherwise.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.ColumnNames">
+            <summary>
+            Returns an array of column names contained in the result rows. This property
+            is somewhat inaptly named RowNames and might be renamed in the future.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetColumnIndex(System.String)">
+            <summary>
+            Returns the index of the given column name in the result set rows.
+            </summary>
+            <param name="columnName"></param>
+            <returns>The column index or -1 if not present</returns>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Statement">
+            <summary>
+            Returns the SqlStatement leading to this SqlResult for select statements only and 
+            null otherwise.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.TransposeToFieldList(System.String,System.Boolean)">
+            <summary>
+            This method will convert the current result set into an array of values by picking the
+            specified column from all rows in the result set. This is intended to be used in 
+            subselects (i.e. the SqlBuilder class and the Operator.In method). 
+            </summary>
+            <param name="columnName">The column whose values to include in the list</param>
+            <param name="includeNullValues">If true null values will be included in the result</param>
+            <returns>An array of values</returns>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Rows">
+            <summary>
+            Returns an array of the result rows contained in this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Item(System.Int32)">
+            <summary>
+            Returns a single specific row from the rows contained in this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Item(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Item(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetString(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetString(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetBoolean(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetBoolean(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDateTime(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDateTime(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetInt(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetInt(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetLong(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetLong(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDouble(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDouble(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDecimal(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDecimal(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetObject(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetObject(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="T:Gentle.Framework.SqlStatement">
+            <summary>
+            Encapsulation of a database-specific SQL statement.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.GetStatementType(System.String)">
+            <summary>
+            Determine the statement type of the supplied SQL statement by checking the first
+            3 characters of the string.
+            </summary>
+            <param name="sql">The SQL statement</param>
+            <returns>The <see cref="P:Gentle.Framework.SqlStatement.StatementType"/> of the statement</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.GetParameterValue(System.Object,Gentle.Framework.ObjectMap,Gentle.Framework.FieldMap,Gentle.Framework.StatementType)">
+            <summary>
+            TODO FIXME 
+            This method breaks use of multiple brokers, as it is static and references Broker (and thus DefaultProvider).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetParameter(System.String,System.Object)">
+            <summary>
+            Update a specific named parameter with the given value. 
+            </summary>
+            <param name="paramName">The parameter whose value to set</param>
+            <param name="paramValue">The value being assigned to the parameter</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetParameters(Gentle.Framework.Key,System.Boolean)">
+            <summary>
+            <p>Update the statement parameter values using the values from the key.</p>
+            <p>Warning! This will erase all parameter values not in the key, so if you
+            need to set additional parameters be sure to call this method before
+            any calls to SetParameter.</p>
+            </summary>
+            <param name="key">The key instance containing the parameter values.</param>
+            <param name="isUpdateAll">If true all statement parameters will be updated. If the
+            key has no value a null value will be assigned.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetParameters(System.Object,System.Boolean)">
+            <summary>
+            Update statement parameter values using the public properties of the source object.
+            This method simply gathers all public properties of the given object into a key and
+            calls the SetParameters method with the generated key and a boolean
+            value of false to indicate that parameters not in the key are to be left alone.
+            </summary>
+            <param name="source">The object from which to pull parameter values</param>
+            <param name="isUpdateAll">If true all statement parameters will be updated. If the
+            key has no value a null value will be assigned.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetProperties(System.Object,Gentle.Framework.SqlResult)">
+            <summary>
+            Update the property values of the supplied object instance with the values of the first
+            row of the rows contained in the supplied SqlResult.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Execute(System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute the current instance using the supplied database connection and return
+            the result of the operation as an instance of the <see cref="T:Gentle.Framework.SqlResult"/> class.
+            </summary>
+            <param name="conn">The database connection to use for executing this statement.</param>
+            <param name="tr">The transaction instance to run this statement in. If there is no
+            transaction context then this parameter should be null. This will cause the 
+            connection to be closed after execution.</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Execute">
+            <summary>
+            Convenience method for executing statements without using the <see cref="T:Gentle.Framework.Broker"/> class. 
+            </summary>
+            <returns>The SqlResult containing the result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Prepare">
+            <summary>
+            Prepare the statement against the database. Useful if you will be reusing the statement 
+            for multiple queries.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Page(System.Int32)">
+            <summary>
+            Return the specified result set page. Beware of the fact that page indexes are 1-based.
+            </summary>
+            <param name="page">The page number to fetch. Use a value of 1 to obtain the first page.</param>
+            <returns>A new SqlResult instance with any matching rows</returns>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.Command">
+            <summary>
+            The command object used by this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.StatementType">
+            <summary>
+            The statement type of this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.Type">
+            <summary>
+            The type being selected by this instance or null if no type is being selected.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.Sql">
+            <summary>
+            The query string this statement encapsulates.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.RowLimit">
+            <summary>
+            The maximum number of rows returned by executing this statement or 0 if no limit applies.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.RowOffset">
+            <summary>
+            The maximum number of rows returned by executing this statement or 0 if no limit applies.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.CacheKey">
+            <summary>
+            Construct a unique string identifying this statement instance (for caching purposes).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.IsLoggingEnabled">
+            <summary>
+            Check whether statement execution logging is on for the current instance.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Transaction">
+            <summary>
+            Class to encapsulate persistent objects participating in a transaction. Use this object
+            if you need transaction protection for updating multiple objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.#ctor">
+            <summary>
+            Create a new transaction object. Use this to execute tasks in a transaction
+            using the default database provider.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.#ctor(Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Create a new transaction object. Use this to execute tasks in a transaction
+            using the specified PersistenceBroker and associated database provider.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Initialize">
+            <summary>
+            Initialize connection and transaction objects.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Transaction.IsInitialized">
+            <summary>
+            True when underlying connection and transaction object references exist. When this
+            property is true, clients must remember to call either Commit or Rollback to 
+            release the resources used.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Execute(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute a custom statement in this transaction.
+            </summary>
+            <param name="stmt">The SqlStatement to add</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Persist(Gentle.Framework.IEntity)">
+            <summary>
+            Persist the given IPersistance instance in this transaction.
+            </summary>
+            <param name="entity">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Insert(System.Object)">
+            <summary>
+            Insert the given object instance in this transaction.
+            </summary>
+            <param name="entity">The object to insert</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Update(System.Object)">
+            <summary>
+            Update the given object instance in this transaction.
+            </summary>
+            <param name="entity">The object to update</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Remove(System.Object)">
+            <summary>
+            Remove the given object instance in this transaction.
+            </summary>
+            <param name="entity">The object to remove</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Remove(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Remove the object given its type and a key.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Remove``1(Gentle.Framework.Key)">
+            <summary>
+            Remove the object given its type and a key.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Refresh(System.Object)">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an instance of the specified type in this transaction.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an instance of the specified type in this transaction.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList)">
+            <summary>
+            Retrieve multiple instances of the given type in this transaction. The retrieved 
+            rows are limited by the fields and values specified in the given <see cref="T:Gentle.Framework.Key"/> 
+            instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created 
+            objects. If this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve multiple instances of the given type in this transaction. The retrieved 
+            rows are limited by the fields and values specified in the given <see cref="T:Gentle.Framework.Key"/> 
+            instance.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created 
+            objects. If this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Commit">
+            <summary>
+            Commit this transaction. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Rollback">
+            <summary>
+            Rollback this transaction.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ValidateEventHandler">
+            <summary>
+            Validate event handler
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TypedArrayItemBase">
+            <summary>
+            Typed array item base class that implements IBindable and takes care
+            of save and restore the original values for the parent object
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.#ctor">
+            <summary>
+            Default constructor that marks the object as new.
+            A parent should set the IsNew to false for a loaded record
+            </summary>
+        </member>
+        <member name="E:Gentle.Framework.TypedArrayItemBase.ValidateObject">
+            <summary>
+            Validation event that the user can implement if they need to validate the
+            object before completing an edit.  An exception should be thrown if error
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.OnValidate">
+            <summary>
+            The validate method for ensuring the object is well formed
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.AnalyseObjectType">
+            <summary>
+            Store a list of all property methods of the type stored in the ArrayList. 
+            </summary>
+            <remarks>
+            The list is used by the <see cref="M:System.ComponentModel.ITypedList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])"/>.
+            Because using Reflection is time consuming the property methods are reflected once
+            while constructing an object of the TypedArrayList class.
+            </remarks>
+        </member>
+        <member name="P:Gentle.Framework.TypedArrayItemBase.IsNew">
+            <summary>
+            The is new property is set by the parent
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TypedArrayItemBase.IsDirty">
+            <summary>
+            Indicates if the object has been modified
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TypedArrayItemBase.IsBeingEdited">
+            <summary>
+            Property to return if the object is currently being edited
+            </summary>
+        </member>
+        <member name="E:Gentle.Framework.TypedArrayItemBase.RemoveObject">
+            <summary>
+            The remove object event to call back into the TypedArrayList
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.System#ComponentModel#IEditableObject#BeginEdit">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.System#ComponentModel#IEditableObject#EndEdit">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.System#ComponentModel#IEditableObject#CancelEdit">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.BrokerLock">
+            <summary>
+            Abstract base class for all classes that need to be locked to a
+            specific PersistenceBroker instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.BrokerLock.SessionBroker">
+            <summary>
+            The session broker provides a lock to the database engine. This is
+            useful when connecting to multiple databases in a single application.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.FieldList">
+            <summary>
+            Helper class for storing multiple <see cref="T:Gentle.Framework.FieldMap"/> entries in
+            a single array. It contains methods to locate and translate between
+            column and property names.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.FieldList.FindProperty(System.String)">
+            <summary>
+            Obtain the column name corresponding to a given property name.
+            </summary>
+            <param name="name">The name of the property</param>
+            <returns>The corresponding FieldMap</returns>
+        </member>
+        <member name="M:Gentle.Framework.FieldList.FindColumn(System.String)">
+            <summary>
+            Obtain the property name corresponding to a given column name.
+            </summary>
+            <param name="name">The name of the column</param>
+            <returns>The corresponding FieldMap</returns>
+        </member>
+        <member name="P:Gentle.Framework.FieldList.PrimaryKeyCount">
+            <summary>
+            Returns the number of primary key fields in the array.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.FieldMap">
+            <summary>
+            A small structure for storing metadata for table columns (fields).
+            </summary>
+            <remarks>
+            </remarks>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.#ctor(Gentle.Framework.ObjectMap,Gentle.Common.MemberAttributeInfo)">
+            <summary>
+            Constructor for fields using information obtained from the TableColumn attribute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.#ctor(Gentle.Framework.TableMap,System.String)">
+            <summary>
+            Constructor for fields using information obtained directly from the database (no property info).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.ColumnName">
+            <summary>
+            The (unquoted) column name this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.QuotedColumnName">
+            <summary>
+            The (reserved word quoted) column name this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.TableColumnName">
+            <summary>
+            The column name this instance represents prefixed by the table to which it belongs ("table.column").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.MemberName">
+            <summary>
+            The name of the field or property this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.MemberType">
+            <summary>
+            The type of member (as a value of the MemberTypes enum) this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.Type">
+            <summary>
+            The member (field or property) type to which this instance belongs.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.DbType">
+            <summary>
+            The database type of this field (the rdbms-specific type enumeration converted to long).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsReservedWord">
+            <summary>
+            A boolean indicating whether the name of this field is reserved and needs special quoting.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.Size">
+            <summary>
+            The size of this field or 0 if not applicable or unknown.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsNullable">
+            <summary>
+            A boolean indicating whether the database column accepts nulls.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsNullAssignable">
+            <summary>
+            A boolean indicating whether a null value can be assigned to the property.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsValueType">
+            <summary>
+            A boolean indicating whether the property type of this field is a value type.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsGenericNullableType">
+            <summary>
+            A boolean indicating whether the type of this field is derived from NullableType.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsAutoGenerated">
+            <summary>
+            A boolean indicating whether this field is autogenerated by the database on insert.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsPrimaryKey">
+            <summary>
+            A boolean indicating whether this is a primary key field.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsAutoGeneratedKeyAndSupportedType">
+            <summary>
+            A boolean indicating whether this autogenerated key field is of a type supported 
+            by Gentle.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsForeignKey">
+            <summary>
+            A boolean indicating whether this is a foreign key field.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.ForeignKeyTableName">
+            <summary>
+            The name of the table for foreign keys and null otherwise.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.ForeignKeyColumnName">
+            <summary>
+            The name of the table column for foreign keys and null otherwise.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.NullValue">
+            <summary>
+            The NULL value used when performing automatic translation between 
+            a value type and database nulls.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.MemberInfo">
+            <summary>
+            The MemberInfo instance of the member represented by this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.SequenceName">
+            <summary>
+            The name of the database sequence for autogenerated columns, usually the primary key column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.HandleEnumAsString">
+            <summary>
+            If this field info represents enum then this property indicates 
+            wheter it is saved as string or as integer.
+            Default is false, ie enums are saved as integers
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsReadOnly">
+            <summary>
+            This value indicates that the column should not be set on insert and update. It is
+            primarily useful for columns that are set internally by the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsUpdateAfterWrite">
+            <summary>
+            This value indicates that the column must be read after each insert and update. It is
+            primarily useful for columns that are set internally by the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.GetValue(System.Object)">
+            <summary>
+            Get the value of the property for this FieldMap from the given instance. 
+            </summary>
+            <param name="instance">The object whose property value will be retrieved.</param>
+            <returns>The value of the property.</returns>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.SetValue(System.Object,System.Object)">
+            <summary>
+            Set the value of the property for this FieldMap on the given instance. 
+            </summary>
+            <param name="instance">The object whose property value will be set.</param>
+            <param name="value">The value to assign to the property.</param>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.ToString">
+            <summary>
+            Override the <see cref="M:Gentle.Framework.FieldMap.ToString"/> method to produce a human readable
+            representation of the <see cref="T:Gentle.Framework.FieldMap"/> object.
+            </summary>
+            <returns>The string representation of the object.</returns>
+        </member>
+        <member name="T:Gentle.Framework.GentleRelation">
+            <summary>
+            This is a container class for managed storage of objects. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.relatedTypes">
+            <summary>
+            An array of types involved in this relation.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.relations">
+            <summary>
+            A GentleList used to automate the persistence of the contained objects.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.containedMap">
+            <summary>
+            An ObjectMap describing the type contained in this list.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.parent">
+            <summary>
+            The parent object of this list.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(System.Type,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(System.Type,Gentle.Framework.IPersistent,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(Gentle.Framework.PersistenceBroker,System.Type,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.IPersistent,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Add(System.Object[])">
+            <summary>
+            Add an object to the list. The object is created using values from the list of related 
+            objects passed. This means you dont pass the relation object itself, but rather the 
+            list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="relatedObjects">The list of related objects</param>
+            <returns>The index of the newly created relation</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Add(Gentle.Framework.Transaction,System.Object[])">
+            <summary>
+            Add an object to the list. The object is created using values from the list of related 
+            objects passed. This means you dont pass the relation object itself, but rather the 
+            list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="relatedObjects">The list of related objects</param>
+            <returns>The index of the newly created relation</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Remove(System.Object[])">
+            <summary>
+            Removes a relation from the list. The relation to remove is found using values from the 
+            list of related objects passed. This means you dont pass the relation object itself, but 
+            rather the list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="relatedObjects">The list of related objects</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Remove(Gentle.Framework.Transaction,System.Object[])">
+            <summary>
+            Removes a relation from the list. The relation to remove is found using values from the 
+            list of related objects passed. This means you dont pass the relation object itself, but 
+            rather the list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="relatedObjects">The list of related objects</param>
+        </member>
+        <member name="P:Gentle.Framework.GentleRelation.Count">
+            <summary>
+            Returns the number of relation objects currently in the list.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ObjectMap">
+            <summary>
+            Helper class for determining constructors, parameter ordering and whatever else is needed
+            in order to construct objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.#ctor(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Construct an ObjectMap instance for the given type.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to which this map is related.</param>
+            <param name="type">The type for which this instance is a map</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.SetTableName(System.Type)">
+            <summary>
+            Update the current ObjectMap instance with the table name obtained from
+            the Gentle TableNameAttribute. 
+            Also determines whether table name is dynamic or fixed.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetTableName(System.Object)">
+            <summary>
+            This method is called to obtain the table name for the current object instance.
+            </summary>
+            <param name="instance">The instance from which to obtain the table name.</param>
+            <returns>The table name</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.DetermineConstructor(System.String[],System.Object[])">
+            <summary>
+            Method to scan for and determine the least expensive constructor for a given array of 
+            column names. 
+            </summary>
+            <param name="columnNames">The column names of the result set</param>
+            <param name="row">A sample row used to determine if type conversion is needed</param>
+            <returns>A hash which can be used as constructor selector subsequently or 0 if no
+            valid constructor could be found for the given columns.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.Construct(System.Int32,System.Object[],Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Construct an object instance using the constructor associated with the given hash code.
+            </summary>
+            <param name="columnComboHashCode">The hash code of the column names used to select a 
+            specific constructor</param>
+            <param name="row">The data to use for object creation</param>
+            <param name="broker">The PersistenceBroker instance used to fetch the current row</param>
+            <returns>An new object instance</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.Construct(Gentle.Framework.Key,Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Construct an object instance using the data supplied in the key. The type for which this 
+            is a map is scanned for constructors that can be used with the available keys from the
+            given Key instance.
+            </summary>
+            <param name="key">A full set of key/value pairs to use for constructing the object. The
+            type being constructed must have a constructor with exactly the number of arguments
+            contained in the given Key instance.</param>
+            <param name="broker">The PersistenceBroker instance used to fetch the current row</param>
+            <returns>An instance of the given type</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetRowIndex(System.String[],System.String)">
+            <summary>
+            Determine the index position of the given rowName in the supplied columnNames array.
+            </summary>
+            <param name="row">The array of column names to search</param>
+            <param name="columnName">The name to look for</param>
+            <returns>The index of name in the array or -1 if not found</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.SetProperties(System.Object,System.String[],System.Object[])">
+            <summary>
+            Update the properties of the given object using the data in the supplied column name
+            and column data arrays. Column names are mapped to their corresponding property, and
+            only non-primary key columns are updated. The primary key columns are assumed to have
+            been updated in the constructor used to create the object instance.
+            </summary>
+            <param name="obj">The object to update</param>
+            <param name="columnNames">The column names</param>
+            <param name="row">The column values</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetFieldMap(System.String)">
+            <summary>
+            Obtain a <see cref="T:Gentle.Framework.FieldMap"/> instance for the given property name.
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <returns>The FieldMap of the property</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetForeignKeyFieldMap(System.Type,System.String)">
+            <summary>
+            Obtain a <see cref="T:Gentle.Framework.FieldMap"/> instance from the current map. The field
+            must be a foreign key reference to the given property on the given type.
+            </summary>
+            <param name="referencedType">The type to which the property should refer</param>
+            <param name="propertyName">The name of the property on the referenced type</param>
+            <returns>The FieldMap of the foreign key property from this map</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetColumnName(System.String)">
+            <summary>
+            Obtain the column name corresponding to a given property name.
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <returns>The name of the column</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetPropertyName(System.String)">
+            <summary>
+            Obtain the property name of a given column name.
+            </summary>
+            <param name="columnName">The name of the column</param>
+            <returns>The name of the property</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetPropertyType(System.String)">
+            <summary>
+            Obtain the system type of the given property.
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <returns>The system type of the property</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetPrimaryKeyNames(System.Boolean)">
+            <summary>
+            Obtain a string array holding the (member or column) names of all the primary keys.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.SetIdentity(System.Object,System.Int32)">
+            <summary>
+            Update the identity property with the value from the supplied <see cref="T:Gentle.Framework.SqlResult"/>
+            instance. The identity property must be a single integer value for this to work. The 
+            identity property is the one holding the PrimaryKey attribute with the AutoGenerated
+            value set to true.
+            </summary>
+            <param name="obj">The object instance whose identity should be set</param>
+            <param name="identity">The row identity (i.e. the LastRowId property of SqlResult)</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.AddViewColumn(System.String,Gentle.Framework.ViewMap)">
+            <summary>
+            Adds a column to the specified named DataView. The ViewMap is a small helper class
+            used to connect DataView columns with object properties.
+            </summary>
+            <param name="viewName">The name of the DataView</param>
+            <param name="viewMap">The ViewMap instance to add to this view</param>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.Type">
+            <summary>
+            The business class for which this instance holds mapping information.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.IsDynamicTable">
+            <summary>
+            True if the type to which this ObjectMap belongs maps to multiple tables.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.Views">
+            <summary>
+            A collection of named DataViews we can generate for the type represented.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.ConcurrencyMap">
+            <summary>
+            Get the FieldMap for the concurrency column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.SoftDeleteMap">
+            <summary>
+            Get the FieldMap for the soft delete column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.InheritanceMap">
+            <summary>
+            Get the FieldMap for the inheritance column (where the actual type name is stored).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.Validations">
+            <summary>
+            Get the validations that are to be performed on the object.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.IsSoftDelete">
+            <summary>
+            True if the type to which this ObjectMap belongs should use soft delete (i.e. mark
+            rows as deleted and filter them from queries on select) instead of hard delete.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.IsUpdateAfterWrite">
+            <summary>
+            This value indicates whether the table (to which this type maps) has any columns
+            that are updated by the database on write. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.CacheStrategy">
+            <summary>
+            The cache behavior for objects of this type. Can be either permanent,
+            temporary (the default unless overridden in the config file), or never.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.SchemaName">
+            <summary>
+            The schema name to use for objects of this type. This overrides any value
+            defined for a specific provider. This is currently unused and has no effect.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ObjectView">
+            <summary>
+            Helper class for converting between arrays of business objects and DataView
+            instances useable in UI components. To customize the layout and formatting of
+            the generated DataViews, decorate properties with the <see cref="T:Gentle.Framework.CustomViewAttribute"/> 
+            attribute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.AddColumn(Gentle.Framework.ViewMap)">
+            <summary>
+            Adds a column to this view. 
+            </summary>
+            <param name="viewMap">The view map instance to use for this column</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.OrderColumns">
+            <summary>
+            Calling this method will sort the viewMaps ArrayList by the columnIndexes.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataTable">
+            <summary>
+            Construct a DataTable with columns for the type represented.
+            </summary>
+            <returns>A new DataTable instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetItemArray(System.Object)">
+            <summary>
+            Construct an item array of values gathered from the supplied instance. The item array
+            is used to batch set all the values in a DataView row.
+            </summary>
+            <param name="instance">The instance whose property values are used</param>
+            <returns>The item array</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataTable(System.Type,System.String)">
+            <summary>
+            Obtain a DataTable for the specified type and view.
+            </summary>
+            <returns>The new DataTable instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataTable(System.Type)">
+            <summary>
+            Obtain a DataTable for the specified type using the "default" view.
+            </summary>
+            <returns>The new DataTable instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(System.Type,System.String,System.Collections.IList)">
+            <summary>
+            Create and populate a DataView with the given name. Use this method when you need
+            to specify the object type manually (which is the case when the view is specified
+            on a base class and the list may contain various subclasses).
+            </summary>
+            <param name="type">The type associated with the given view name</param>
+            <param name="viewName">The name of the view</param>
+            <param name="data">The list of objects to include in the view</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(System.String,System.Collections.IList)">
+            <summary>
+            Create and populate a DataView using the specified view. The object type is automatically
+            determined from the contents of the data parameter (which must not be null or empty).
+            </summary>
+            <param name="viewName">The name of the view</param>
+            <param name="data">The list of objects to include in the view</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(System.Collections.IList)">
+            <summary>
+            Create and populate a DataView using the "default" view. The object type is automatically
+            determined from the contents of the data parameter (which must not be null or empty).
+            </summary>
+            <param name="data">The list of objects to include in the view</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(Gentle.Framework.SqlResult)">
+            <summary>
+            Create and populate a DataView from the given SqlResult. Columns in the result set
+            are copied verbatim to the DataView.
+            </summary>
+            <param name="sr">The SqlResult used to generate and populate the DataView.</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="T:Gentle.Framework.PersistenceBroker">
+            <summary>
+            Singleton used to interface with the persistence layer. Caches SqlStatements and
+            uses PersistenceEngine to execute statements.
+            </summary>
+            <remarks>
+            This class is responsible for interacting with the SQL engine (RDBMS) used. It handles
+            caching of statements and retrieved objects, and uses many of the other classes in the
+            framework to perform its duties.
+            </remarks>
+            <see>NamespaceDoc</see>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(System.String,System.String,System.String)">
+            <summary>
+            This method constructs a PersistenceBroker instance. The specified provider (database
+            engine name) and connection string will be used to instantiate the desired backend
+            engine used by this broker. The name will be used to uniquely distinguish this instance
+            from other providers, and can be used to later obtain a reference to the cached instance
+            by calling <see cref="M:Gentle.Framework.ProviderFactory.GetNamedProvider(System.String,Gentle.Framework.IGentleProvider@)"/>.
+            </summary>
+            <param name="name">The unique name to associate with this provider/broker pair.</param>
+            <param name="providerName">The database engine name</param>
+            <param name="connectionString">The connection string for connecting to the database</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(System.String,System.String)">
+            <summary>
+            This method constructs a PersistenceBroker instance. The specified provider (database
+            engine name) and connection string will be used to instantiate the desired backend
+            engine used by this broker. 
+            </summary>
+            <param name="providerName">The database engine name</param>
+            <param name="connectionString">The connection string for connecting to the database</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor">
+            <summary>
+            Constructor using the DefaultProvider from the configuration file.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Constructor using the supplied provider (or using DefaultProvider settings if null is passed).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(System.Type)">
+            <summary>
+            Constructor selecting the provider based on the namespace of the supplied type.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.PersistenceBroker.ProviderName">
+            <summary>
+            Returns the class name of the current database engine.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.PersistenceBroker.Provider">
+            <summary>
+            Return the currently used IGentleProvider instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetSqlFactory">
+            <summary>
+            Retrieve an GentleSqlFactory instance for the database backend used.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetStatement(System.String)">
+            <summary>
+            Return a new SqlStatement instance (ready for execution) using the specified 
+            sql query string.
+            </summary>
+            <param name="sql">The entire SQL string to use for this statement. The statement
+            type is determined from the SQL string. If the type cannot be determined the query 
+            is executed using ExecuteNonQuery.</param>
+            <returns>An SqlStatement instance prepared for execution</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetStatement(Gentle.Framework.StatementType,System.String)">
+            <summary>
+            Return a new SqlStatement instance (ready for execution) using the specified 
+            sql query string.
+            </summary>
+            <param name="sql">The query string to use for the SqlStatement</param>
+            <param name="stmtType">The statement type. Select statements are executed using
+            ExecuteReader. Insert, Update and Delete are executed using ExecuteNonQuery. 
+            Count is executed using ExecuteScalar.</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve data for the specified type. Throws an exception for unsupported types.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <returns>An SqlResult containing the returned rows and helper methods</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Retrieve(System.Type,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve data for the specified type. Throws an exception for unsupported types.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An SqlResult containing the returned rows and helper methods</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Retrieve(System.Object,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Refresh the supplied object instance with the values of the object identified by
+            the key.
+            </summary>
+            <param name="obj">The object to update</param>
+            <param name="key">The key of the object to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Refresh(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Refresh the properties of the given object with the values from the
+            database. This is essentially a Retrieve operation, but instead of
+            returning a new object, the existing is updated. This allows it to be
+            used within constructors.
+            Throws an exception for unsupported types.
+            </summary>
+            <param name="obj">The object instance to update</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Refresh(System.Object)">
+            <summary>
+            Refresh the properties of the given object with the values from the
+            database. This is essentially a Retrieve operation, but instead of
+            returning a new object, the existing is updated. This allows it to be
+            used within constructors.
+            Throws an exception for unsupported types.
+            </summary>
+            <param name="obj">The object instance to update</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Refresh(Gentle.Framework.IEntity)">
+            <summary>
+            Refresh the supplied object instance with the values in the database.
+            </summary>
+            <param name="p">The object to update</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <param name="type">The type of object to retrieve</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <param name="type">The type of object to create</param>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance(System.Type,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve an instance of the given type and identified by the given key using the
+            supplied connection and transaction.
+            </summary>
+            <param name="type">The type of object to create</param>
+            <param name="key">The key of the object to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>The created object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance``1(Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve an instance of the given type and identified by the given key using the
+            supplied connection and transaction.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key of the object to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>The created object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,System.Collections.IList)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0},System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveListRaw(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <returns>An SqlResult with the returned rows</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveListRaw(System.Type,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An SqlResult with the returned rows</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.Object,Gentle.Framework.StatementType,System.Data.IDbConnection)">
+            <summary>
+            Internal helper method used for standard CRUD operations on known types.
+            </summary>
+            <param name="obj">The object instance being operated on</param>
+            <param name="st">The statement type</param>
+            <param name="conn">The database connection for when participating in transactions</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.Object,Gentle.Framework.StatementType,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Internal helper method used for standard CRUD operations on known types.
+            </summary>
+            <param name="obj">The object instance being operated on</param>
+            <param name="st">The statement type</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Persist(Gentle.Framework.IEntity)">
+            <summary>
+            Persist (insert or update) an object. Updates the property decorated with the 
+            PrimaryKey field if the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Persist(Gentle.Framework.IEntity,System.Data.IDbTransaction)">
+            <summary>
+            Persist (insert or update) an object. Updates the property decorated with the 
+            PrimaryKey field if the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to persist</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Insert(System.Object)">
+            <summary>
+            Insert an object. Updates the property decorated with the PrimaryKey field if 
+            the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to insert</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Insert(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Insert an object. Updates the property decorated with the PrimaryKey field if 
+            the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to insert</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Update(System.Object)">
+            <summary>
+            Update an existing object.
+            </summary>
+            <param name="obj">The object to update</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Update(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Update an existing object.
+            </summary>
+            <param name="obj">The object to update</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Object)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="obj">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="obj">The object to persist</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove``1(Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <typeparam name="T">The type of object</typeparam>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Type,Gentle.Framework.Key,System.Data.IDbTransaction)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove``1(Gentle.Framework.Key,System.Data.IDbTransaction)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <typeparam name="T">The type of object</typeparam>
+            <param name="key">The key indentifying the object</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String,Gentle.Framework.StatementType,System.Type,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="stmtType">The statement type (used to determine the query execution mode)</param>
+            <param name="type">The type associated with this statement</param>
+            <param name="dbConnection">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="dbConnection">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="dbConnection">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbTransaction)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RegisterStatement(System.String,Gentle.Framework.SqlStatement)">
+            <summary>
+            Associate an SqlStatement with a system type (must be a descendant of Persistent).
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <param name="stmt">The SQL statement object</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetRegisteredStatement(System.String)">
+            <summary>
+            Retrieve a previously registered SqlStatement.
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <returns>The previously registered SQL statement (if any)</returns>
+        </member>
+        <member name="T:Gentle.Framework.ProviderFactory">
+            <summary>
+            Provider factory for dynamic instantiation of providers.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.GetNamedProvider(System.String,Gentle.Framework.IGentleProvider@)">
+            <summary>
+            This method returns true if a provider was found with the specified name. The matching
+            provider is returned in the out parameter.
+            </summary>
+            <param name="name">The developer assigned name of the provider.</param>
+            <param name="provider">The matching provider or null if none was found.</param>
+            <returns>True if a match was found and false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.GetProvider(System.Type)">
+            <summary>
+            Get the provider for a specific type. This method tries to find a corresponding
+            namespace provider to use, and if no match is found, returns the default provider.
+            </summary>
+            <param name="type">The type for which to find a provider.</param>
+            <returns>A GentleProvider instance.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.AddNamespaceProvider(System.String,System.String,System.String)">
+            <summary>
+            Add a new namespace provider. If a namespace provider has been registered, Gentle will
+            try to match the namespace of a type to those registered, and if a match is found will
+            use the associated provider and connection string (instead of the default provider).
+            Namespaces are matched using StartsWith, so using incomplete substrings is supported
+            (the longest match will be used if multiple namespaces match).
+            </summary>
+            <param name="nmspace">The namespace string to use.</param>
+            <param name="provider">The provider to use for this namespace.</param>
+            <param name="connectionString">The connection string to use with this provider.</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.SetDefaultProvider(System.String)">
+            <summary>
+            Update or set the default provider to use. Unless you are calling this method prior to 
+            using Gentle the first time, you should call the ResetGentle method to clear all cached data.
+            </summary>
+            <param name="providerName">The default provider to use.</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.SetDefaultProviderConnectionString(System.String)">
+            <summary>
+            Update or set the connection string to be used with the default provider. Unless
+            you are calling this method prior to using Gentle the first time, you should call 
+            the ResetGentle method to clear all cached data.
+            </summary>
+            <param name="connectionString">The connection string to use with the default provider.</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.ResetGentle">
+            <summary>
+            Clear all caches (metadata and providers). Call this method after updating the
+            default provider connection string.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.ResetGentle(System.Boolean)">
+            <summary>
+            Clear all caches (metadata and providers). Call this method after updating the
+            default provider connection string.
+            </summary>
+            <param name="clearObjectMapCache">True to clear the internal metadata cache (a list
+            of ObjectMap entries stored in a static variable in the ObjectFactory class).</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.SetDefaultProvider(System.String)">
+            <summary>
+            Set the default provider. Call this method during application startup 
+            to override the default provider defined in the Gentle config file.
+            </summary>
+            <param name="providerName">The default provider name</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.SetDefaultConnectionString(System.String)">
+            <summary>
+            Set the connection string used by the default provider. Call this method
+            during application startup to override the connection string defined in
+            the Gentle config file.
+            </summary>
+            <param name="connectionString">The default connection string</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.GetProviderInfo(System.Reflection.Assembly)">
+            <summary>
+            Verify that the specified library contains an IGentleProvider instance, and
+            fill out a ProviderInfo struct if the given assembly is valid.
+            </summary>
+            <param name="assembly">The provider assembly to verify</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.GetProviderInfo(System.String)">
+            <summary>
+            Load the specified library/assembly dll.
+            </summary>
+            <param name="assemblyName">The assembly name to load</param>
+        </member>
+        <member name="P:Gentle.Framework.ProviderRegistry.ProviderCount">
+            <summary>
+            Returns the number of provider libraries found.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TableMap">
+            <summary>
+            Helper class to maintain metadata on tables and columns.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.#ctor(Gentle.Framework.IGentleProvider,System.String)">
+            <summary>
+            Construct a TableMap instance to hold information on the given table.
+            </summary>
+            <param name="provider">The Gentle provider to which this map relates.</param>
+            <param name="tableName">The name of the table for which to hold information.</param>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.#ctor(Gentle.Framework.PersistenceBroker,System.String)">
+            <summary>
+            Construct a TableMap instance to hold information on the given table.
+            </summary>
+            <param name="broker">The PersistenceBroker instance used to obtain metadata on the table.
+            If null is passed the DefaultProvider settings will be used.</param>
+            <param name="tableName">The name of the table for which to hold information.</param>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.#ctor(Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Construct a TableMap instance for an unspecified table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetFieldMapFromColumn(System.String)">
+            <summary>
+            Obtain a <see cref="T:Gentle.Framework.FieldMap"/> instance for the given column name.
+            </summary>
+            <param name="columnName">The name of the column</param>
+            <returns>The FieldMap of the column</returns>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetForeignKeyFieldMap(System.String,System.String)">
+            <summary>
+            Obtain the name of the column in in this table pointing to the given column 
+            and table. This is used to map foreign key relations and allows the referencing
+            column to use any name.
+            </summary>
+            <param name="tableName">The foreign table name</param>
+            <param name="columnName">The foreign column name</param>
+            <returns>The name of the local foreign key column referencing the given table column</returns>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetForeignKeyMappings(Gentle.Framework.TableMap,System.Boolean)">
+            <summary>
+            Obtain a list of <see cref="T:Gentle.Framework.FieldMap"/> instances that represent foreign key
+            references to fields on the supplied parent object.
+            </summary>
+            <param name="parentMap">The map of the type the foreign key fields should reference
+            if they are to be included in the result.</param>
+            <param name="isPrimaryKeysOnly">True if only foreign keys pointing to primary keys
+            should be included, false to include all foreign key references.</param>
+            <returns>A list of FieldMap instances or an empty list id no fields matched.</returns>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetColumnType(System.String)">
+            <summary>
+            Obtain the system type of a given column name.
+            </summary>
+            <param name="columnName">The name of the column</param>
+            <returns>The system type of the corresponding property</returns>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.PrimaryKeyCount">
+            <summary>
+            Obtain the number of primary key properties/columns used by this type.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.Fields">
+            <summary>
+            The list of fields found for the type represented.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.IdentityMap">
+            <summary>
+            The name of the column whose value is autogenerated on insert or null if no such column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.TableName">
+            <summary>
+            The table name to which objects are mapped.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.QuotedTableName">
+            <summary>
+            The table name (quoted only if reserved word) to which objects are mapped.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.Provider">
+            <summary>
+            The Gentle provider from which this map was obtained.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.TableId">
+            <summary>
+            Internally used value to reference the table while analyzing the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.IsView">
+            <summary>
+            Internally used value to tell whether this TableMap represents a view or a table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ConstructorMap.AnySet(System.Collections.BitArray)">
+            <summary>
+            Test whether at least one bit is set in the array. Replaces the old "long != 0" check.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ConstructorMap.AllUnset(System.Collections.BitArray)">
+            <summary>
+            Test whether no bits are set in the array. Replaces the old "long == 0" check.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ConstructorMap.GetRowHashKey(System.Object[])">
+            <summary>
+            Construct a unique string a 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectConstructor.DetermineConstructor(System.String[],System.Object[])">
+            <summary>
+            Method to scan for and determine the least expensive constructor for a given array of 
+            column names. 
+            </summary>
+            <param name="columnNames">The column names of the result set</param>
+            <param name="row">A sample row used to determine if type conversion is needed</param>
+            <returns>A hash which can be used as constructor selector subsequently or 0 if no
+            valid constructor could be found for the given columns.</returns>
+        </member>
+        <member name="T:Gentle.Framework.ObjectFactory">
+            <summary>
+            This class handles contructon of objects (created from SqlResult objects).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.ConstructMap(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Process the given type and construct the corresponding ObjectMap instance.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for obtaining metadata on the type. If
+            null is passed the DefaultProvider will be used.</param>
+            <param name="type">The type to process.</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetMap(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Process the given type and construct the corresponding ObjectMap instance. If the
+            map has been created previously a cached instance is returned.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for obtaining metadata on the type. If
+            null is passed the DefaultProvider will be used.</param>
+            <param name="type">The type to process</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetMap(Gentle.Framework.PersistenceBroker,System.Object)">
+            <summary>
+            Process the given object's type and construct the corresponding ObjectMap instance. If the
+            map has been created previously a cached instance is returned.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for obtaining metadata on the type. If
+            null is passed the DefaultProvider will be used.</param>
+            <param name="obj">The instance to process</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetMap(System.String)">
+            <summary>
+            Retrieve the ObjectMap for the type persisted to the specified table name. The map
+            must have been created previously or null will be returned. If multiple types map
+            to the same table, the first match is returned.
+            </summary>
+            <param name="tableName">The table name identifying the type</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetInstance(System.Type,Gentle.Framework.SqlResult,Gentle.Framework.Key)">
+            <summary>
+            Construct an instance of the given type using data from the first row of the
+            supplied SqlResult instance. 
+            Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <param name="key">Additional fields not available in the result set (e.g. primary key fields)</param>
+            <returns>An instance of the given type</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.LoadType(System.String)">
+            <summary>
+            Load the type specified using its fully qualified name (its AssemblyQualifiedName property).
+            </summary>
+            <param name="assemblyQualifiedName">The fully qualified type name. This is a string consisting of
+            up to 4 items: type name, assembly name, culture, public key token (strong named assemblies only).</param>
+            <returns>A reference to the specified type. If an error occurs loading the type and exception
+            will be raised.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetInstance(System.Type,Gentle.Framework.SqlResult)">
+            <summary>
+            Construct an instance of the given type using data from the first row of the
+            supplied SqlResult instance. 
+            Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <returns>An instance of the given type</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetCollection(System.Type,Gentle.Framework.SqlResult)">
+            <summary>
+            Construct multiple objects of a given type from the data contained in the given SqlResult
+            object. Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <returns>An IList holding the created objects</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetCollection(System.Type,Gentle.Framework.SqlResult,System.Collections.IList)">
+            <summary>
+            Construct multiple objects of a given type from the data contained in the given SqlResult
+            object. Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>An IList holding the created objects</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.MakeGenericList``1">
+            <summary>
+            Produce an empty generic list of the specified argument type
+            </summary>
+            <typeparam name="T">The entity type to be stored in the list</typeparam>
+            <returns>A generic list instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.MakeGenericList(System.Type)">
+            <summary>
+            Produce an empty generic list of the specified argument type
+            </summary>
+            <param name="entityType">The entity type to be stored in the list</param>
+            <returns>A generic list instance cast to IList</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.IsTypeSupported(System.Type)">
+            <summary>
+            Checks whether the given type is supported by the Gentle.NET framework. This method
+            merely verifies the presence of the TableNameAttribute attribute on the class.
+            </summary>
+            <param name="type">The type to check</param>
+            <returns>True if the type has the TableNameAttribute attribute</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.RegisterType(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Register a single type. Calling this method makes Gentle create an ObjectMap
+            for the given type. 
+            If schema data is needed the supplied <see cref="T:Gentle.Framework.PersistenceBroker"/>
+            instance will be used. This method will silently ignore unsupported types and is
+            therefore safe to call with any type.
+            </summary>
+            <param name="broker">The <see cref="T:Gentle.Framework.PersistenceBroker"/> instance used to obtain
+            metadata from the database schema.</param>
+            <param name="type">The type for which to create an ObjectMap.</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.RegisterAssembly(Gentle.Framework.PersistenceBroker,System.Reflection.Assembly)">
+            <summary>
+            Register multiple types. Calling this method makes Gentle create an ObjectMap 
+            for all supported types in the assembly.
+            If schema data is needed the supplied <see cref="T:Gentle.Framework.PersistenceBroker"/>
+            instance will be used.
+            </summary>
+            <param name="broker">The <see cref="T:Gentle.Framework.PersistenceBroker"/> instance used to obtain
+            metadata from the database schema.</param>
+            <param name="assembly">The assembly whose types should be registered.</param>
+        </member>
+        <member name="T:Gentle.Framework.ValidationBroker">
+            <summary>
+            Singleton used to perform validations on an object.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationBroker.Validate(System.Object)">
+            <summary>
+            Provides a static interface to perform validations on an object.
+            </summary>
+            <param name="obj">The object instance being operated on</param>
+        </member>
+        <member name="T:Gentle.Framework.NullOption">
+            <summary>
+            Enumeration to indicate if a field should use the types MinValue or MaxValue
+            as the NULL translation value. This is useful for DateTime and Decimal fields,
+            where it is not possible to use the actual value in the TableColumn attribute
+            declaration. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.NullOption.MinValue">
+            <summary>
+            &lt;type&gt;.MinValue will be stored as NULL, and NULL will be read as &lt;type&gt;.MinValue.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.NullOption.MaxValue">
+            <summary>
+            &lt;type&gt;.MaxValue will be stored as NULL, and NULL will be read as &lt;type&gt;.MaxValue.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.NullOption.Zero">
+            <summary>
+            0 (or the equivalent for other numeric types) will be stored as NULL, and NULL will be read as 0.
+            </summary> This value can only be used with numeric types (such as decimal).
+        </member>
+        <member name="F:Gentle.Framework.NullOption.EmptyGuid">
+            <summary>
+            Guid.Empty will be stored as NULL, and NULL will be read as Guid.Empty. This value can only be
+            used with Guid fields.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.StatementType">
+            <summary>
+            Enumeration of the possible supported statement types.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Unknown">
+            <summary>
+            This setting is used when the statement type has not been defined or is unknown. When
+            executing queries of unknown type, the framework assumes a select-type statement is
+            being executed (i.e. it will use an ExecuteReader to perform the request).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Select">
+            <summary>
+            This identifies statements executed using the ExecuteReader method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Count">
+            <summary>
+            This identifies statements executed using the ExecuteScalar method. No fields will
+            be selected. The result set will contain a single numeric row-count value.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Identity">
+            <summary>
+            This identifies statements executed using the ExecuteScalar method. No fields will
+            be selected. Use the LastRowId property on the SqlResult to obtain the selected value.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Insert">
+            <summary>
+            This identifies statements executed using either the ExecuteScalar (for
+            autogenerated columns) or ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Update">
+            <summary>
+            This identifies statements executed using the ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Delete">
+            <summary>
+            This identifies statements executed using the ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.SoftDelete">
+            <summary>
+            This identifies statements executed using the ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleSettings">
+            <summary>
+            Placeholder class for Gentle.NET global configuration settings
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.ConcurrencyControl">
+            <summary>
+            Option to control whether Gentle should generate SQL for concurrency control. When
+            set to false, all columns carrying the ConcurrencyColumn will be ignored in query
+            generation.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.MasterDefinition">
+            <summary>
+            Option to control what the primary metadata source is for Gentle. Note that when
+            the database analyzer is enabled, information obtained from schema data is assumed
+            to be correct and thus always takes precedence.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.AnalyzerSilent">
+            <summary>
+            Option to control whether the database analyzer should report an error for
+            unused columns. The default is to ignore any such unmapped columns.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.AnalyzerLevel">
+            <summary>
+            Option to control the operation of the database analyzer. When set to None the
+            database anaylzer will be disabled (all metadata must be provided from other
+            sources, such as attributes). When set to OnDemand, reverse engineering occurs
+            once for every type (on first access for that type). When set to Full the entire 
+            database is analyzed (on first access) in one operation. Full is the recommended
+            option, but can lead to longer startup times (est. 1-10 seconds, depending on the
+            amount of tables involved).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultCacheStrategy">
+            <summary>
+            The setting controls the default cache strategy used by Gentle. Please 
+            <see cref="T:Gentle.Common.CacheStrategy"/> for information on the possible values.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.CacheStatements">
+            <summary>
+            This setting controls whether statements are cached by Gentle. The default is
+            to cache CRUD statements only. You can manually cache your own statements by
+            using the <see cref="M:Gentle.Framework.PersistenceBroker.RegisterStatement(System.String,Gentle.Framework.SqlStatement)"/> method (and
+            retrieve cached statements using the 
+            <see cref="M:Gentle.Framework.PersistenceBroker.GetRegisteredStatement(System.String)"/> method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.CacheObjects">
+            <summary>
+            This setting controls whether objects are cached by Gentle. When object caching
+            is enabled, Gentle will filter query results and return the cached instance
+            when available. The default is not to cache objects.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.SkipQueryExecution">
+            <summary>
+            This setting controls whether Gentle may skip query execution and return results
+            composed of cached data. When true, Gentle maintains links between queries and
+            associated result sets, and will only skip query execution if all objects from
+            the previous execution are still available.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleSettings.UniqingScope">
+            <summary>
+            This setting controls the scope within which objects are uniqued. Consult <see 
+            cref="P:Gentle.Framework.GentleSettings.UniqingScope"/> for details on the available options.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultProviderName">
+            <summary>
+            The name of the default provider used by the Broker class.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultProviderConnectionString">
+            <summary>
+            The connection string used by the default provider.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultCommandTimeout">
+            <summary>
+            The default timeout value in seconds for connections created by Gentle.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSettings.SetLogStatus(Gentle.Common.LogCategories,System.Boolean)">
+            <summary>
+            The connection string used by the default provider.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSettings.GetScopeDelimiter(System.String)">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            supplied id is used instead of the normal scope delimitor (this
+            is useful if you wish to clear the cache for another thread or
+            web session than your own).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSettings.GetScopeDelimiter">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            returned value is valid for this thread or web session only.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.MasterDefinition">
+            <summary>
+            This enumeration is used to control which source of information is to be considered
+            the master definition. This setting is only partially used at the moment. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.MasterDefinition.Attributes">
+            <summary>
+            With this setting the mapping structures are defined using attributes. The definitions
+            are verified against the database in accordance with the AnalyzerLevel setting.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.MasterDefinition.XML">
+            <summary>
+            With this setting the mapping structures are defined using definitions from XML files.
+            This feature is not yet supported.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.MasterDefinition.Database">
+            <summary>
+            With this setting the mapping structures are defined by analyzing the database tables.
+            This feature is not yet supported.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.NamespaceProviders">
+            <summary>
+            Helper class for retrieval of namespaced providers.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IEntity">
+            <summary>
+            This interface specifies methods that objects must implement in order for the
+            persistence framework to accept them. 
+            
+            Additionally, it specified convenience methods that allows clients to call the
+            persistence methods directly on the object, rather than using the PersistenceBroker 
+            directly.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IEntity.GetKey">
+            <summary>
+            The Key property is a Hashtable of key/value pairs that specify the selection 
+            criteria unique to the current object instance. The Key usually corresponds
+            to the primary keys of the row holding the object.
+            </summary>
+            <returns>The unique Key of the current instance. The generated key should
+            contain property values.</returns>
+        </member>
+        <member name="P:Gentle.Framework.IEntity.IsPersisted">
+            <summary>
+            True if the current instance has been persisted to the database.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IBrokerLock">
+            <summary>
+            Interface for classes that need to be locked to a specific 
+            PersistenceBroker instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IBrokerLock.SessionBroker">
+            <summary>
+            The session broker provides a lock to the database engine. This is
+            useful when connecting to multiple databases in a single application.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.AnalyzerLevel">
+            <summary>
+            This enumeration is used to control the level of database analysis performed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.AnalyzerLevel.None">
+            <summary>
+            With this setting no database analysis will be performed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.AnalyzerLevel.OnDemand">
+            <summary>
+            With this setting only tables with a corresponding object will be analyzed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.AnalyzerLevel.Full">
+            <summary>
+            With this setting all available tables will be analyzed.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IDatabaseAnalyzer">
+            <summary>
+            This interface describes the methods which must be supported by a specific
+            analyzer for a persistence engine. The analyzers are used to obtain column
+            type, size and constraint information directly from the database
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IDatabaseAnalyzer.TableMaps">
+            <summary>
+            This property is a Hashtable of TableMap instances containing metadata on
+            tables obtained from the database. Client programs can iterate through this
+            list and use the TableMap instances to generate Gentle business objects (be
+            sure to set the AnalyzerLevel to Full in the configuration file if used for
+            this purpose).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IDatabaseAnalyzer.Analyze(System.String)">
+            <summary>
+            This method obtains metadata by analyzing the database. If no table name
+            is specified all available tables will be processed.
+            </summary>
+            <param name="tableName">The table name to analyze or null for all tables</param>
+        </member>
+        <member name="M:Gentle.Framework.IDatabaseAnalyzer.UpdateObjectMap(Gentle.Framework.ObjectMap)">
+            <summary>
+            This method updated the given ObjectMap instance with metadata obtained
+            from the database.
+            </summary>
+            <param name="map">The ObjectMap to update</param>
+        </member>
+        <member name="T:Gentle.Framework.IGentleProvider">
+            <summary>
+            The high-level interface to implement when creating a new provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.Name">
+            <summary>
+            Returns a unique name for this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.ConnectionString">
+            <summary>
+            Returns the connection string used by this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.SchemaName">
+            <summary>
+            Returns the schema name (if any) used by this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.ProviderInformation">
+            <summary>
+            Returns information about the actual data provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.Broker">
+            <summary>
+            Returns the PersistenceBroker instance for this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.IdentityHash">
+            <summary>
+            Returns the cache key of the current instance.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IGentleProvider.GetSqlFactory">
+            <summary>
+            Obtain an SQL factory for constructing SQL statements.
+            </summary>
+            <returns>The factory for SQL construction</returns>
+        </member>
+        <member name="M:Gentle.Framework.IGentleProvider.GetRenderer">
+            <summary>
+            Obtain an SQL renderer for constructing formatted SQL from SqlQuery objects.
+            </summary>
+            <returns>The SQL renderer for this database</returns>
+        </member>
+        <member name="M:Gentle.Framework.IGentleProvider.GetAnalyzer">
+            <summary>
+            Obtain an instance of the database backend analyzer. Used internally while constructing
+            the initial ObjectMap instances for mapping types to the database.
+            </summary>
+            <returns>The factory for SQL construction</returns>
+        </member>
+        <member name="T:Gentle.Framework.IPersistenceEngine">
+            <summary>
+            The interface to implement in order to support a specific persistence engine,
+            i.e. a specific vendors RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.ExecuteStatement(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute an SQL statement and produce a corresponding result set (even when no rows are returned).
+            </summary>
+            <param name="stmt">The statement object to execute</param>
+            <returns>The result set produced</returns>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.GetCommand">
+            <summary>
+            Obtain a command instance.
+            </summary>
+            <returns>The database command object</returns>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.GetConnection">
+            <summary>
+            Obtain a connection to the persistence engine. The returned connection should be open.
+            </summary>
+            <returns>The database connection</returns>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.CacheStatement(System.Type,Gentle.Framework.StatementType,Gentle.Framework.SqlStatement)">
+            <summary>
+            Cache a CRUD-type statement for the given type.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.GetStatement(System.Type,System.String,Gentle.Framework.StatementType)">
+            <summary>
+            Retrieve a cached CRUD-type statement for the given type.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IPersistent">
+            <summary>
+            This interface specifies methods that objects must implement in order for the
+            persistence framework to accept them. 
+            
+            Additionally, it specified convenience methods that allows clients to call the
+            persistence methods directly on the object, rather than using the PersistenceBroker 
+            directly.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistent.Persist">
+            <summary>
+            Insert or update the current object instanse.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistent.Remove">
+            <summary>
+            Delete the current object instanse. 
+            Note: This does not destroy or invalide the current object instance.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistent.Refresh">
+            <summary>
+            Select the current object instance and initialize all properties/fields with
+            the values of the retrieved data. This method can be used in place of static
+            constructors in implementations of IPersistant as it allows constructors to
+            merely take a Key parameter (and then call this method to initialize all fields).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IProviderInformation">
+            <summary>
+            Provides a standard structure to important information gathered from the actual provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IProviderInformation.Name">
+            <summary>
+            Gets the name of the provider, as defined by the actual provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IProviderInformation.Version">
+            <summary>
+            Gets the version of the provider, as defined by the actual provider.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ITableName">
+            <summary>
+            This interface is for classes than need to dynamically map to multiple tables.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ITableName.TableName">
+            <summary>
+            Returns the name of the table with which the current object instance is
+            associated for all database operations performed on it.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.NamespaceDoc">
+            <summary>
+            <p>The <see cref="N:Gentle.Framework"/> namespace contains the persistence framework.</p><br/>
+            <list type="bullet">
+              <item>
+                <description>The main access point into the framework functionality is provided 
+            	  by the <see cref="T:Gentle.Framework.PersistenceBroker"/> class. The <see cref="T:Gentle.Framework.Broker"/> class
+            	  allows you to use a default PersistenceBroker instance (using the provider and
+            	  connection information specified using the DefaultProvider config setting).</description></item>
+              <item>
+                <description>
+                  <para>To create persistable business objects decorate the class using the
+                    <see cref="T:Gentle.Framework.TableNameAttribute"/> attribute and all persistent properties using the 
+                    <see cref="T:Gentle.Framework.TableColumnAttribute"/> attribute.</para>
+                  <para>Depending on how much metadata Gentle is able to obtain from the database, you may
+                    need to decorate primary and foreign keys with the <see cref="T:Gentle.Framework.PrimaryKeyAttribute"/> and 
+                    <see cref="T:Gentle.Framework.ForeignKeyAttribute"/> attributes respectively.</para> 
+                  <para>Business objects may optionally inherit from the <see cref="T:Gentle.Framework.Persistent"/> class (or implement
+                    the <see cref="T:Gentle.Framework.IPersistent"/> interface) and gain additional features, such as a set of convenient 
+                    access methods. It is also possible to use the framework without using these.</para>
+                  <para>A returning issue with object to database mapping is handling of null values. If
+                    a value type property (such as an int or bool) maps to a column that allows null
+                    values, use the NullValue property of the TableColumn attribute to specify the
+                    value that will be assigned to properties on read and converted into null on 
+                    insert.</para></description></item>
+              <item>
+                <description>     
+                  <para>To execute custom SQL statements use the <see cref="T:Gentle.Framework.SqlStatement"/> class. Use the 
+                    <see cref="T:Gentle.Framework.SqlBuilder"/> class to construct instances of this class whenever the statement
+                    is for a supported type (i.e. a class decorated with the proper attributes).</para>
+                  <para>Query results (when executed directly) are always packaged in the <see cref="T:Gentle.Framework.SqlResult"/> 
+                    class, which holds any returned rows and has useful properties (such as standardized 
+                    return codes). The RetrieveInstance and RetriveList methods allow you to bypass the 
+                    result and have Gentle create objects automatically.</para>
+                  <para>Multiple statements (including non-SQL commands) can be transacted (grouped) using the 
+                    <see cref="T:Gentle.Framework.Transaction"/> class.</para></description>
+              </item>
+            </list>
+            <br/>
+            <p>The source code of the Gentle.Framework project is organized as follows:</p>
+            <list type="table">
+              <listheader>
+                <term>Folder</term>
+                <description>Description</description></listheader>
+              <item>
+                <term>Attributes</term>
+                <description>All attributes defined by Gentle with which you can decorate your objects
+                and thus gain use of the provided functionality.</description></item>
+              <item>
+                <term>Client</term>
+                <description>All classes relevant to clients of the framework, that is, readers of 
+                this document.</description></item>
+              <item>
+                <term>Core</term>
+                <description>The core functionality of the framework. Some of these are also of
+                  interest to clients/users.</description></item>
+              <item>
+                <term>General</term>
+                <description>Helper classes for various purposes, such as config file handling, 
+                error reporting, etc.</description></item>
+              <item>  
+                <term>Interfaces</term>
+                <description>Interfaces used internally by Gentle.</description></item>
+              <item>  
+                <term>Provider</term>
+                <description>Base classes to use when implementing support for a database provider.</description></item>
+              <item>  
+                <term>Query</term>
+                <description>Classes used when constructing custom SQL queries in a database-independent way.
+                Note that classes in this folder is currently work in progress.</description></item>
+            </list>
+            <p>Enjoy! :-)</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleAnalyzer">
+            <summary>
+            Base class for all database analyzers.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Constructor for the GentleAnalyzer base class.
+            </summary>
+            <param name="provider"></param>
+        </member>
+        <member name="P:Gentle.Framework.GentleAnalyzer.AnalyzerCapability">
+            <summary>
+            This property should be defined in subclasses to indicate which information fields
+            the Analyzer class is able to obtain. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.HasCapability(Gentle.Framework.ColumnInformation)">
+            <summary>
+            Use this method to check if the provider supports obtaining the specified information.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleAnalyzer.Level">
+            <summary>
+            Use this method to get or set the analyzer level used. Note that changing this setting too
+            late it might have no effect (if tables have already been analyzed).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleAnalyzer.TableMaps">
+            <summary>
+            This property is a Hashtable of TableMap instances containing metadata on
+            tables obtained from the database. Client programs can iterate through this
+            list and use the TableMap instances to generate Gentle business objects (be
+            sure to set the AnalyzerLevel to Full in the configuration file if used for
+            this purpose).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.GetTableMap(System.String)">
+            <summary>
+            Get an existing TableMap from the underlying store of the TableMaps property. This 
+            method ensures that tables are looked up case insensitively and without triggering
+            any database scanning (which could otherwise lead to loops).
+            </summary>
+            <param name="tableName">The name of the table whose map to retrieve.</param>
+            <returns>The corresponding TableMap instance or null if none was found.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.Analyze(System.String)">
+            <summary>
+            This method obtains metadata by analyzing the database. If no table name
+            is specified all available tables will be processed.
+            </summary>
+            <param name="tableName">The table name to analyze or null for all tables</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.UpdateObjectMap(Gentle.Framework.ObjectMap)">
+            <summary>
+            This method updated the given ObjectMap instance with metadata obtained
+            from the database.
+            </summary>
+            <param name="map">The ObjectMap to update</param>
+        </member>
+        <member name="T:Gentle.Framework.GentleProvider">
+            <summary>
+            This class implements some common methods for RDBMS backends (as defined by 
+            the <see cref="T:Gentle.Framework.IGentleProvider"/> interface).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.connectionString">
+            <summary>
+            This field stores the connection string for connecting to the database engine.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.providerName">
+            <summary>
+            This field stores the name identifying this provider.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.schemaName">
+            <summary>
+            This field stores the schema name used with this provider (if any).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.broker">
+            <summary>
+            This field stores the PersistenceBroker used with this provider.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.stmtByType">
+            <summary>
+            Hashtable of Type-indexed hashtables of StatementType-indexed statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.#ctor(System.String,System.String)">
+            <summary>
+            This base constructor ensures that descendant must specify a connection string
+            when new instances are created.
+            </summary>
+            <param name="providerName">The name identifying the provider used</param>
+            <param name="connectionString">The connection string used to connect to the database</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.#ctor(System.String,System.String,System.String)">
+            <summary>
+            This base constructor ensures that descendant must specify a connection string
+            when new instances are created.
+            </summary>
+            <param name="providerName">The name identifying the provider used</param>
+            <param name="connectionString">The connection string used to connect to the database</param>
+            <param name="schemaName">The schema name used for queries made using this provider</param>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.Name">
+            <summary>
+            Returns the name of this provider (the name identifies the type of database backend 
+            the provider can connect to).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.ConnectionString">
+            <summary>
+            Returns the connection string used by this provider instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.SchemaName">
+            <summary>
+            Returns the schema name used by this provider instance, or null if no schema name is used.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.IdentityHash">
+            <summary>
+            Returns the cache key of the current instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.Broker">
+            <summary>
+            Returns the connection string used by this provider instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.ProviderInformation">
+            <summary>
+            Override to provide information about the actual provider.
+            Base implementation returns null.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetSqlFactory">
+            <summary>
+            Abstract method declaration to obtain an <see cref="T:Gentle.Framework.GentleSqlFactory"/> that
+            encapsulated the RDBMS specifics for generating SQL statements.
+            </summary>
+            <returns>An GentleSqlFactory instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetAnalyzer">
+            <summary>
+            Abstract method declaration to obtain a new database analyzer instance.
+            </summary>
+            <returns>The new database analyzer</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetRenderer">
+            <summary>
+            Obtain an SQL renderer for constructing formatted SQL from SqlQuery objects.
+            </summary>
+            <returns>The SQL renderer for this database</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetConnection">
+            <summary>
+            Abstract method declaration to obtain a new database connection.
+            </summary>
+            <returns>The new database connection</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetCommand">
+            <summary>
+            Abstract method declaration to obtain a new <see cref="T:System.Data.IDbCommand"/> object.
+            </summary>
+            <returns>The command object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.ExecuteStatement(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute the <see cref="T:Gentle.Framework.SqlStatement"/> by providing it with a connection
+            to the SQL engine.
+            </summary>
+            <param name="stmt">The SqlStatement instance</param>
+            <returns>The result of the statement</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.CacheStatement(System.Type,Gentle.Framework.StatementType,Gentle.Framework.SqlStatement)">
+            <summary>
+            Add the specified statement to the statement cache.
+            </summary>
+            <param name="type">The business object with which to associate the statement</param>
+            <param name="stmtType">The type of the SQL statement</param>
+            <param name="stmt">The statement instance to cache</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetStatement(System.Type,System.String,Gentle.Framework.StatementType)">
+            <summary>
+            Retrieve a statement from the cache. If the statement is not present it will be generated
+            and added to the cache.
+            </summary>
+            <param name="type">The business object with which the statement is associated</param>
+            <param name="tableName">The table used in the statement</param>
+            <param name="stmtType">The type of the SQL statement</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.ClearCache">
+            <summary>
+            Clear the statement cache.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Capability.BatchQuery">
+            <summary>
+            This capability signifies that the database backend supports executing 
+            multiple SQL statements in one batch. When this capability is not present
+            Gentle will perform two queries for insert operations on tables with 
+            autogenerated primary keys (one to perform the insert and one for 
+            retrieving the generated key).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Capability.Paging">
+            <summary>
+            This capability signifies that the database backend supports paging of
+            result sets, i.e. that SQL can be generated to retrieve only a certain
+            set of rows.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Capability.NamedParameters">
+            <summary>
+            This capability signifies that the data provider supports named parameters.
+            If not supported, positional parameters will be used instead.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleSqlFactory">
+            <summary>
+            <p>The base class for all SQL factory implementations. Default implementations are provided
+            for some of the methods.</p>
+            <p>Inherit from this class when adding support for a new RDBMS.</p>
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSqlFactory.provider">
+            <summary>
+            The provider for which this factory is generating SQL.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Construct a new GentleSqlFactory instance.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetCommand">
+            <summary>
+            Shortcut method for obtaining an IDbCommand instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetDbType(System.Type)">
+            <summary>
+            Obtain the integer value of the database type corresponding to the given system type.
+            The value returned must be castable to a valid type (enum value) for the current 
+            persistence engine. This method is called to translate property types to database
+            types when one has not been explicitly defined by the user or read from the database.
+            </summary>
+            <param name="type">The system type</param>
+            <returns>The corresponding database type</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetSystemType(System.Int64)">
+            <summary>
+            This method should return the system type corresponding to the database specific type
+            indicated by the long. The default implementation will throw an exception.
+            </summary>
+            <param name="dbType">The provider specific database type enum value.</param>
+            <returns>The closest matching system type.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetDefaultNullValue(System.Type)">
+            <summary>
+            Obtain the default NullValue to use with the TableColumn attribute for columns mapping
+            to a system type that does not allow null assignment. This method is intended for use
+            by code generators.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            This default implementation simply returns the string given.
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="P:Gentle.Framework.GentleSqlFactory.MinimumSupportedDateTime">
+            <summary>
+            Returns the minimum supported DateTime value. This is a generic method
+            returning the arbitrarily chosen value of 1/1/1800.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleSqlFactory.MaximumSupportedDateTime">
+            <summary>
+            Returns the maximum supported DateTime value. This is a generic method
+            returning the arbitrarily chosen value of 1/1/3000.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetParameterPrefix">
+            <summary>
+            Obtain the character or string used to prefix parameters.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetParameterSuffix">
+            <summary>
+            Obtain the character or string used to suffix parameters.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetParameterCollectionKey(System.String)">
+            <summary>
+            Obtain the name to use for name-based indexing into the IDbCommand.Parameters
+            collections. Most databases omit the parameter prefix, whereas some require it
+            to be present (e.g. SQLite).
+            </summary>
+            <param name="paramName">The parameter name without quoting or prefix/suffix.</param>
+            <returns>The name to use when accessing the IDbCommand.Parameters hashtable.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetStatementTerminator">
+            <summary>
+            Obtain the character or string used to terminate or delimit statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="P:Gentle.Framework.GentleSqlFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities. The default is
+            to support all capabilities. See <see cref="T:Gentle.Framework.Capability"/> for details on the 
+            available capabilities.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.HasCapability(Gentle.Framework.Capability)">
+            <summary>
+            Call this method to check for the availability of a certain capability or
+            combined set of capabilities (which must all be present).
+            </summary>
+            <param name="dc">The capability to check for.</param>
+            <returns>True if the database supports the capability.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetOperatorBegin(Gentle.Framework.Operator,System.Boolean)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string between the column name and the parameter value.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <param name="isValueNull">This parameter indicates whether the value of the parameter is null. This
+            is required because different operators must be used for null equality checls.</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetOperatorEnd(Gentle.Framework.Operator)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string after the parameter value. This string is usually empty.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetQuoteCharacter">
+            <summary>
+            Obtain the character used to delimit string parameters.
+            </summary>
+            <returns>The quote character.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Get the statement for retrieving last inserted row id for auto-generated id columns
+            </summary>
+            <param name="sql"></param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.AddParameter(System.Data.IDbCommand,System.String,System.Type)">
+            <summary>
+            Add an SQL parameter to the given IDbCommand object.
+            </summary>
+            <param name="cmd">The IDbCommand object to operate on.</param>
+            <param name="name">The name of the parameter.</param>
+            <param name="type">The system type of the paramater.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Add an SQL parameter to the given IDbCommand object.
+            </summary>
+            <param name="cmd">The IDbCommand object to operate on.</param>
+            <param name="name">The name of the parameter.</param>
+            <param name="dbType">The long value of the provider specific database type enum (e.g. DbType)</param>
+        </member>
+        <member name="T:Gentle.Framework.IValidationPersistent">
+            <summary>
+            Interface for <see cref="T:Gentle.Framework.Persistent"/> objects that want to implement validations.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.RangeValidatorAttribute">
+            <summary>
+            Validates if the given property is between the range values specifed.
+            If the member value being validated matches any of the two values it will pass 
+            validation (note: Gentle 1.2.5 and earlier did not consider this valid).
+            If you pass in strings then these are assumed to contain dates formatted using 
+            invariant culture. If either Min or Max is not specified the range is considered 
+            to be open-ended and validation only occurs against the specified value. A null
+            value never passes validation.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RangeValidatorAttribute.Min">
+            <summary>
+            The minimum permitted value (inclusive). 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RangeValidatorAttribute.Max">
+            <summary>
+            The maximum permitted value (inclusive).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RangeValidatorAttribute.#ctor">
+            <summary>
+            The default constructor for the <see cref="T:Gentle.Framework.RangeValidatorAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RangeValidatorAttribute.#ctor(System.Object,System.Object)">
+            <summary>
+            Constructor for the <see cref="T:Gentle.Framework.RangeValidatorAttribute"/> class permitting you to
+            specify the minimum and maximum values permitted.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RangeValidatorAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            This method is invoked to perform the actual range validation on the given property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method returns true if the validation succeeds and false otherwise.</returns>
+        </member>
+        <member name="T:Gentle.Framework.RegexValidatorAttribute">
+            <summary>
+            Determines if the given property matches a regular expression. If a value is null then
+            it will always pass (note: you can use the <see cref="T:Gentle.Framework.RequiredValidatorAttribute"/> to 
+            ensure that a value is not null).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RegexValidatorAttribute.Expression">
+            <summary>
+            The regular expression to validate against.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RegexValidatorAttribute.#ctor">
+            <summary>
+            The default constructor for the <see cref="T:Gentle.Framework.RegexValidatorAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RegexValidatorAttribute.#ctor(System.String)">
+            <summary>
+            Constructor for the <see cref="T:Gentle.Framework.RegexValidatorAttribute"/> class permitting you
+            to specify the regular expression to validate against.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RegexValidatorAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            This method is invoked to perform the actual range validation on the given property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method returns true if the validation succeeds and false otherwise.</returns>
+        </member>
+        <member name="T:Gentle.Framework.RequiredValidatorAttribute">
+            <summary>
+            Apply this attribute to members which must have a value assigned. This is mostly
+            useful with strings.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RequiredValidatorAttribute.AllowNull">
+            <summary>
+            Set to <see langword="true"/> to allow a null value to pass validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RequiredValidatorAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            This method is invoked to perform the actual range validation on the given property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method returns true if the validation succeeds and false otherwise.</returns>
+        </member>
+        <member name="T:Gentle.Framework.ValidationException">
+            <summary>
+            Strongly typed exception used for dealing with exceptions.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationException.#ctor(Gentle.Common.Error,System.String)">
+            <summary>
+            Constructor taking an <see cref="T:Gentle.Common.Error"/> and a custom message to go with the error. 
+            The framework consistently uses the <see cref="T:Gentle.Common.Error"/> enumeration to classify 
+            raised exceptions.
+            </summary>
+            <param name="error">The Error condition leading to this exception</param>
+            <param name="msg">An additional message text</param>
+        </member>
+        <member name="T:Gentle.Framework.ValidationMessage">
+            <summary>
+            This class is used to convey information on validation failures.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidationMessage.Id">
+            <summary>
+            Id of the message, used for il8n.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidationMessage.Text">
+            <summary>
+            Text of the error message, used if il8n is a bit overkill for you.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationMessage.#ctor">
+            <summary>
+            Public constructor.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationMessage.GetMessage(System.String,System.Object[])">
+            <summary>
+            Get the message string for the current culture.
+            </summary>
+            <param name="messageId">The message id to retrieve.</param>
+            <param name="args">Optional replacement values for a templated string.</param>
+            <returns>The string value of the message to return.</returns>
+        </member>
+        <member name="T:Gentle.Framework.ValidatorBaseAttribute">
+            <summary>
+            This is the base validator attribute, it provides a common interface 
+            for all custom validations.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.Message">
+            <summary>
+            Internal validation message object.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.MessageId">
+            <summary>
+            Optional message id to use for validations.  Provide this if you would prefer to use 
+            a resource bundle or some other means of looking up strings from an external source.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.MessageText">
+            <summary>
+            Message to provide the client/ user that explains what is incorrect about the value
+            they have entered.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.FailOnFirst">
+            <summary>
+            Indicate if the validation of an object should fail on the first failure or if the
+            entire object should be validated.
+            </summary>
+            <value>Default: <see langword="false"/></value>
+        </member>
+        <member name="M:Gentle.Framework.ValidatorBaseAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            Override this method to add the code that performs validation on the property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method should return true if the validation succeeds and false otherwise. The
+            default implementation always returns true.</returns>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.DB2.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.DB2.xml
new file mode 100644
index 0000000..f752865
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.DB2.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.DB2</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.DB2.DB2Factory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the DB2 RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetDbType(System.Type)">
+            <summary>
+            Obtain the integer value of the database type corresponding to the given system type.
+            The value returned must be castable to a valid type for the current persistence engine.
+            </summary>
+            <param name="type">The system type.</param>
+            <returns>The corresponding database type.</returns>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.DB2.DB2Provider">
+            <summary>
+            This class is an implementation of the IPersistenceEngine interface for the DB2 RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.DB2.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.DB2"/> namespace contains the provider files for
+            supporting the IBM DB2 database backend.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Firebird.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Firebird.xml
new file mode 100644
index 0000000..f2936cf
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Firebird.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Firebird</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Firebird.FirebirdAnalyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an ObjectMap with as much information as is available.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the Firebird RDBMS.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords">
+            <summary>
+            Container	class	to test	for	existence	of reserved	words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords.#ctor">
+            <summary>
+            Create a new <see	cref="T:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords"/> instance	and	fill
+            internal <see	cref="T:System.Collections.Hashtable"/> with	reserved words for fast
+            retrieval.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords.IsReservedWord(System.String)">
+            	<summary>
+            	Determine	if the specified token is	a	reserved word	in the current
+            	implementation.	Works	case insensitive.
+            	</summary>
+            	<param name="Token">The	token	that should	be checked.</param>
+            	<returns><see	langword="true"/>	if the specified token is	a	reserved
+            	word,	<see langword="false"/>	if not.</returns>
+            	<example>
+            	The	following	call returns <see	langword="false"/>:
+            	<code>IsReservedWord("FIRSTNAME");</code>
+            	The	following	call returns <see	langword="true"/>:
+            	<code>IsReservedWord("VARCHAR");</code>
+            </example>
+        </member>
+        <member name="F:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords.reservedWordsHashtable">
+            <summary>
+            <see cref="T:System.Collections.Hashtable"/>	containing all reserved	words	for	fast lookup.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.Firebird.FirebirdFactory.reservedWords">
+            <summary>
+            Static singleton instance	for	access to	reserved words collection.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities. The default is
+            to support all capabilities. See <see cref="T:Gentle.Framework.Capability"/> for details on the 
+            available capabilities.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables)
+            to the corresponding type enumeration value.
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method.
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            This default implementation simply returns the string given.
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdFactory.Schema">
+            <summary>
+            The current schema name or null if no schema.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <param name="word">The word that should be checked for.</param>
+            <returns><see langword="true"/> if the word is reserved.</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted	version	of the reserved	word to	allow	the	reserved word	to be	
+            used in	queries	anyway.	If a reserved	word cannot	be quoted	this method	should
+            raise	an error informing the user	that they	need to	pick a different name.
+            </summary>
+            <returns>The given reserved	word or	field	quoted to	avoid	errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdProvider">
+            <summary>
+            This class is an implementation of the GentleProvider class for the Firebird RDBMS.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdProvider.ProviderInformation">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdProviderInformation">
+            <summary>
+            The class encapsulates information about the underlying database provider,
+            as well as the logic to extract it.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdProviderInformation.Name">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdProviderInformation.Version">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Firebird"/> namespace contains the provider files for
+            supporting the Firebird database backend. It should be useable with any InterBase
+            compatible database.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Jet.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Jet.xml
new file mode 100644
index 0000000..bc82e00
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Jet.xml
@@ -0,0 +1,185 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Jet</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Jet.JetAnalyzer">
+            <summary>
+            This class is the schema analyzer for Jet/Access. Based on information gathered
+            and code snippets contributed by Roger Hendriks.
+            
+            Useful information concerning OLE schema analysis (additional links below):
+              http://support.microsoft.com/default.aspx/kb/309488/EN-US/?
+              http://support.microsoft.com/default.aspx?scid=kb;en-us;310107
+              http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbpart5_appendixes.asp
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetTables(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/en-us/oledb/htm/oledbtables_rowset.asp
+            Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE ("TABLE","VIEW")
+            Schema columns: TABLE_GUID, DESCRIPTION, TABLE_PROPID, DATE_CREATED, DATE_MODIFIED
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetColumns(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/en-us/oledb/htm/oledbcolumns_rowset.asp
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbtype_indicators.asp
+            Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
+            Schema columns: DATA_TYPE, ORDINAL_POSITION, COLUMN_HASDEFAULT, COLUMN_DEFAULT, 
+            	COLUMN_FLAGS, IS_NULLABLE, NUMERIC_PRECISION, NUMERIC_SCALE, 
+            	CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetPrimaryKeys(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/en-us/oledb/htm/oledbprimary_keys_rowset.asp
+            Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME
+            Schema columns: COLUMN_NAME, COLUMN_GUID, COLUMN_PROPID, ORDINAL, PK_NAME
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetPrimaryKeyInfo(System.String)">
+            <summary>
+            Fetch schema information on keys.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetForeignKeys(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbtable_constraints_rowset.asp
+            Restriction columns: PK_TABLE_CATALOG, PK_TABLE_SCHEMA, PK_TABLE_NAME, 
+            FK_TABLE_CATALOG, FK_TABLE_SCHEMA, FK_TABLE_NAME
+            Schema columns: FK_COLUMN_NAME, FK_COLUMN_GUID, FK_COLUMN_PROPID, UPDATE_RULE,
+            DELETE_RULE, PK_NAME, FK_NAME, DEFERRABILITY 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Jet.JetAnalyzer.DBCOLUMNFLAGS">
+            <summary>
+            This enumeration represents the bitmask values of the COLUMN_FLAGS value used below.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetColumnData(Gentle.Framework.TableMap)">
+            <summary>
+            This method fills the TableMap with information on table columns.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Jet.JetFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Microsoft Access (Jet) Database.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.Jet.JetFactory.reservedWords">
+            <summary>
+            This is the list of reserved words in MS Access. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetParameterSuffix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Jet.JetFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Access/Jet does not support Batch Command Processing, please refer to
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconRetrievingIdentityOrAutonumberValues.asp
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.Jet.JetEngine">
+            <summary>
+            This class is an implementation of the IPersistenceEngine interface for the 
+            Microsoft Jet Database Engine
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Jet.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Jet"/> namespace contains the provider files for
+            supporting the MS Access (aka Jet) database backend. The driver used is OleDb.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.MySQL.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.MySQL.xml
new file mode 100644
index 0000000..67e88c9
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.MySQL.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.MySQL</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.MySQL.MySQLFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the MySQL RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetDbType(System.Type)">
+            <summary>
+            Obtain the integer value of the database type corresponding to the given system type.
+            The value returned must be castable to a valid type for the current persistence engine.
+            </summary>
+            <param name="type">The system type.</param>
+            <returns>The corresponding database type.</returns>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.MySQL.MySQLProvider">
+            <summary>
+            This class is an implementation of the IPersistenceEngine interface for the MySQL RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.MySQL.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.MySQL"/> namespace contains the provider files for
+            supporting the MySQL database backend.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Oracle.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Oracle.xml
new file mode 100644
index 0000000..a53892a
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Oracle.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Oracle</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Oracle.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Oracle"/> namespace contains the provider files for
+            supporting the Oracle database backend using the Microsoft provider library.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Oracle.OracleAnalyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an ObjectMap with as much information as is available.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Oracle.OracleFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Oracle RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetStatementTerminator">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Oracle.OracleFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.Oracle.OracleProvider">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.OracleODP.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.OracleODP.xml
new file mode 100644
index 0000000..0903a55
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.OracleODP.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.OracleODP</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.OracleODP.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.OracleODP"/> namespace contains the provider files for
+            supporting the Oracle database backend using the Oracle ODP provider library.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.OracleODP.OracleODPAnalyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an ObjectMap with as much information as is available.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.OracleODP.OracleODPFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Oracle RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetStatementTerminator">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.OracleODP.OracleODPFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.OracleODP.OracleODPProvider">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IPersistenceEngine instance for the MS SQL Server rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.PostgreSQL.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.PostgreSQL.xml
new file mode 100644
index 0000000..ac18970
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.PostgreSQL.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.PostgreSQL</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.PostgreSQL.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.PostgreSQL"/> namespace contains the provider files for
+            supporting the PostgreSQL database backend.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.PostgreSQL.PostgreSQLFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the PostgreSQL RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. For PostgreSQL, it looks as if the tableName must be an exact 
+            case-sensitive match and that the identityColumn is always lowercased (at least
+            for auto-generated sequences). 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            This default implementation simply returns the string given.
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.PostgreSQL.PostgreSQLProvider">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IPersistenceEngine instance for the PostgreSQL rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.#ctor(System.String,System.String)">
+            <summary>
+            Construct a new IPersistenceEngine instance for the PostgreSQL rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+            <param name="schemaName">The schema name to use with this database provider instance.</param>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServer.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServer.xml
new file mode 100644
index 0000000..fec9004
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServer.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SQLServer</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SQLServer.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SQLServer"/> namespace contains the provider files for
+            supporting the MS SQL Server 7.0 and 2000 database backends.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQL92Analyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an TableMap with as much information as is available.
+            This class has been tested only with MS SQL Server. While SQL92 is a standard it is 
+            likely that the contents returned by other databases (supporting the information_schema
+            views) will return different values. Whenever a difference is encountered the appropriate
+            methods for parsing the data should be added to the SqlFactory and descendants, keeping
+            this class as generic as possible.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQL92Analyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerAnalyzer">
+            <summary>
+            Placeholder class for when Sql92Analyzer is modified or when data needs custom parsing.
+            The current implementation merely reuses the Sql92Analyzer class.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Microsoft SQL Server RDBMS.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords">
+            <summary>
+            Container class to test for existence of reserved words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords.#ctor">
+            <summary>
+            Create a new <see cref="T:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords"/> instance and fill
+            internal <see cref="T:System.Collections.Hashtable"/> with reserved words for fast
+            retrieval.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords.IsReservedWord(System.String)">
+             <summary>
+             Determine if the specified token is a reserved word in the current
+             implementation. Works case insensitive.
+             </summary>
+             <param name="Token">The token that should be checked.</param>
+             <returns><see langword="true"/> if the specified token is a reseved
+             word, <see langword="false"/> if not.</returns>
+             <example>
+             The following call returns <see langword="false"/>:
+             <code>IsReservedWord("FIRSTNAME");</code>
+             The following call returns <see langword="true"/>:
+             <code>IsReservedWord("VARCHAR");</code>
+            </example>
+        </member>
+        <member name="F:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords.reservedWordsHashtable">
+            <summary>
+            <see cref="T:System.Collections.Hashtable"/> containing all reserved words for fast lookup.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.SQLServer.SQLServerFactory.reservedWords">
+            <summary>
+            Static singleton instance for access to reserved words collection.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetSystemType(System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <param name="word">The word that should be checked for.</param>
+            <returns><see langword="true"/> if the word is reserved.</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <param name="word">The word that should be quoted to avoid errors.</param>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerProvider">
+            <summary>
+            This class is an implementation of the IGentleProvider and IPersistenceEngine 
+            interfaces for the Microsoft SQL Server RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for the MS SQL Server rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="P:Gentle.Provider.SQLServer.SQLServerProvider.ProviderInformation">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerProviderInformation">
+            <summary>
+            The class encapsulates information about the underlying database provider,
+            as well as the logic to extract it.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SQLServer.SQLServerProviderInformation.Name">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SQLServer.SQLServerProviderInformation.Version">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServerCE.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServerCE.xml
new file mode 100644
index 0000000..8422fd7
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLServerCE.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SQLServerCE</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SQLServerCE.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SQLServerCE"/> namespace contains the provider 
+            files for supporting the MS SQL Server CE database backend.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServerCE.SQLServerCEFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Microsoft SQL Server CE RDBMS.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords">
+            <summary>
+            Container class to test for existence of reserved words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords.#ctor">
+            <summary>
+            Create a new <see cref="T:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords"/> instance and fill
+            internal <see cref="T:System.Collections.Hashtable"/> with reserved words for fast
+            retrieval.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords.IsReservedWord(System.String)">
+             <summary>
+             Determine if the specified token is a reserved word in the current
+             implementation. Works case insensitive.
+             </summary>
+             <param name="Token">The token that should be checked.</param>
+             <returns><see langword="true"/> if the specified token is a reseved
+             word, <see langword="false"/> if not.</returns>
+             <example>
+             The following call returns <see langword="false"/>:
+             <code>IsReservedWord("FIRSTNAME");</code>
+             The following call returns <see langword="true"/>:
+             <code>IsReservedWord("VARCHAR");</code>
+            </example>
+        </member>
+        <member name="F:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords.reservedWordsHashtable">
+            <summary>
+            <see cref="T:System.Collections.Hashtable"/> containing all reserved words for fast lookup.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.SQLServerCE.SQLServerCEFactory.reservedWords">
+            <summary>
+            Static singleton instance for access to reserved words collection.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetParameterSuffix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SQLServerCE.SQLServerCEFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Access/CE does not support Batch Command Processing, please refer to
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconRetrievingIdentityOrAutonumberValues.asp
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <param name="word">The word that should be checked for.</param>
+            <returns><see langword="true"/> if the word is reserved.</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <param name="word">The word that should be quoted to avoid errors.</param>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.SQLServerCE.SQLServerCEProvider">
+            <summary>
+            This class is an implementation of the IGentleProvider and IPersistenceEngine 
+            interfaces for the Microsoft SQL Server CE RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for the MS SQL Server CE RDBMS.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLite.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLite.xml
new file mode 100644
index 0000000..707f1bd
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SQLite.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SQLite</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SQLite.SQLiteAnalyzer">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the SQLite RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLite.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SQLite"/> namespace contains the provider files for
+            supporting the SQLite database backend.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLite.SQLiteFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the SQLite RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetParameterCollectionKey(System.String)">
+            <summary>
+            Obtain the name to use for name-based indexing into the IDbCommand.Parameters
+            collections. Most databases omit the parameter prefix, whereas some require it
+            to be present (e.g. SQLite).
+            </summary>
+            <param name="paramName">The parameter name without quoting or prefix/suffix.</param>
+            <returns>The name to use when accessing the IDbCommand.Parameters hashtable.</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLite.SQLiteProvider">
+            <summary>
+            This class is an implementation of the IGentleProvider and IPersistenceEngine 
+            interfaces for the SQLite database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for SQLite.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Sybase.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Sybase.xml
new file mode 100644
index 0000000..a9653c0
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.Sybase.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Sybase</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Sybase.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Sybase"/> namespace contains the provider files for
+            supporting the Sybase ASE database backend.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Sybase.SybaseFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Sybase Asa Database.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.Sybase.SybaseFactory.reservedWords">
+            <summary>
+            This is the list of reserved words in Sybase SQL Anywhere. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Sybase.SybaseFactory.SupportsBatchCommandProcessing">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Sybase ASA Data Provider does not support BatchCommandProcessing
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="T:Gentle.Provider.Sybase.SybaseProvider">
+            <summary>
+            This class is an implementation of the GentleProvider class for Sybase.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for Sybase.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SybaseASA.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SybaseASA.xml
new file mode 100644
index 0000000..730b216
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/Gentle.Provider.SybaseASA.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SybaseASA</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SybaseASA.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SybaseASA"/> namespace contains the provider files for
+            supporting the Sybase ASA database backend.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SybaseASA.SybaseASAFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Sybase Asa Database.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.SybaseASA.SybaseASAFactory.reservedWords">
+            <summary>
+            This is the list of reserved words in Sybase SQL Anywhere. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetParameterSuffix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SybaseASA.SybaseASAFactory.Capabilities">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Sybase ASA Data Provider does not support BatchCommandProcessing
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="T:Gentle.Provider.SybaseASA.SybaseASAProvider">
+            <summary>
+            This class is an implementation of the GentleProvider class for Sybase.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for Sybase.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Output/Release/System.Data.SQLite.xml b/Common-MP-TVE3/External/Gentle.NET/Output/Release/System.Data.SQLite.xml
new file mode 100644
index 0000000..450384e
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Output/Release/System.Data.SQLite.xml
@@ -0,0 +1,15445 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>System.Data.SQLite</name>
+    </assembly>
+    <members>
+        <member name="T:System.Data.SQLite.AssemblySourceIdAttribute">
+            <summary>
+            Defines a source code identifier custom attribute for an assembly
+            manifest.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.AssemblySourceIdAttribute.#ctor(System.String)">
+            <summary>
+            Constructs an instance of this attribute class using the specified
+            source code identifier value.
+            </summary>
+            <param name="value">
+            The source code identifier value to use.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.AssemblySourceIdAttribute.SourceId">
+            <summary>
+            Gets the source code identifier value.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.AssemblySourceTimeStampAttribute">
+            <summary>
+            Defines a source code time-stamp custom attribute for an assembly
+            manifest.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.AssemblySourceTimeStampAttribute.#ctor(System.String)">
+            <summary>
+            Constructs an instance of this attribute class using the specified
+            source code time-stamp value.
+            </summary>
+            <param name="value">
+            The source code time-stamp value to use.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.AssemblySourceTimeStampAttribute.SourceTimeStamp">
+            <summary>
+            Gets the source code time-stamp value.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteLogCallback">
+             <summary>
+             This is the method signature for the SQLite core library logging callback
+             function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
+            
+             WARNING: This delegate is used more-or-less directly by native code, do
+                      not modify its type signature.
+             </summary>
+             <param name="pUserData">
+             The extra data associated with this message, if any.
+             </param>
+             <param name="errorCode">
+             The error code associated with this message.
+             </param>
+             <param name="pMessage">
+             The message string to be logged.
+             </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLite3">
+            <summary>
+            This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteBase">
+            <summary>
+            This internal class provides the foundation of SQLite support.  It defines all the abstract members needed to implement
+            a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConvert">
+            <summary>
+            This base class provides datatype conversion services for the SQLite provider.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultDbType">
+            <summary>
+            The fallback default database type when one cannot be obtained from an
+            existing connection instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.FullFormat">
+            <summary>
+            The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.FallbackDefaultTypeName">
+            <summary>
+            The fallback default database type name when one cannot be obtained from
+            an existing connection instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.UnixEpoch">
+            <summary>
+            The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.OleAutomationEpochAsJulianDay">
+            <summary>
+            The value of the OLE Automation epoch represented as a Julian day.  This
+            field cannot be removed as the test suite relies upon it.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.MinimumJd">
+            <summary>
+            This is the minimum Julian Day value supported by this library
+            (148731163200000).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert.MaximumJd">
+            <summary>
+            This is the maximum Julian Day value supported by this library
+            (464269060799000).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
+            <summary>
+            An array of ISO-8601 DateTime formats that we support parsing.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatUtc">
+            <summary>
+            The internal default format for UTC DateTime values when converting
+            to a string.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatLocal">
+            <summary>
+            The internal default format for local DateTime values when converting
+            to a string.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._utf8">
+            <summary>
+            An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormat">
+            <summary>
+            The default DateTime format for this instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._datetimeKind">
+            <summary>
+            The default DateTimeKind for this instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormatString">
+            <summary>
+            The default DateTime format string for this instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
+            <summary>
+            Initializes the conversion class
+            </summary>
+            <param name="fmt">The default date/time format to use for this instance</param>
+            <param name="kind">The DateTimeKind to use.</param>
+            <param name="fmtString">The DateTime format string to use.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.String)">
+            <summary>
+            Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
+            </summary>
+            <param name="sourceText">The string to convert to UTF-8</param>
+            <returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToUTF8(System.DateTime)">
+            <summary>
+            Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
+            </summary>
+            <remarks>
+            This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
+            string result.
+            </remarks>
+            <param name="dateTimeValue">The DateTime to convert.</param>
+            <returns>The UTF-8 encoded string, including a 0 terminating byte at the end of the array.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.IntPtr,System.Int32)">
+            <summary>
+            Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
+            </summary>
+            <param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
+            <param name="nativestringlen">The number of bytes to decode</param>
+            <returns>A string containing the translated character(s)</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.UTF8ToString(System.IntPtr,System.Int32)">
+            <summary>
+            Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
+            </summary>
+            <param name="nativestring">The pointer to the memory where the UTF-8 string is encoded</param>
+            <param name="nativestringlen">The number of bytes to decode</param>
+            <returns>A string containing the translated character(s)</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.isValidJd(System.Int64)">
+            <summary>
+            Checks if the specified <see cref="T:System.Int64"/> is within the
+            supported range for a Julian Day value.
+            </summary>
+            <param name="jd">
+            The Julian Day value to check.
+            </param>
+            <returns>
+            Non-zero if the specified Julian Day value is in the supported
+            range; otherwise, zero.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.DoubleToJd(System.Double)">
+            <summary>
+            Converts a Julian Day value from a <see cref="T:System.Double"/> to an
+            <see cref="T:System.Int64"/>.
+            </summary>
+            <param name="julianDay">
+            The Julian Day <see cref="T:System.Double"/> value to convert.
+            </param>
+            <returns>
+            The resulting Julian Day <see cref="T:System.Int64"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.JdToDouble(System.Int64)">
+            <summary>
+            Converts a Julian Day value from an <see cref="T:System.Int64"/> to a
+            <see cref="T:System.Double"/>.
+            </summary>
+            <param name="jd">
+            The Julian Day <see cref="T:System.Int64"/> value to convert.
+            </param>
+            <returns>
+            The resulting Julian Day <see cref="T:System.Double"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.computeYMD(System.Int64,System.Nullable{System.DateTime})">
+            <summary>
+            Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
+            This method was translated from the "computeYMD" function in the
+            "date.c" file belonging to the SQLite core library.
+            </summary>
+            <param name="jd">
+            The Julian Day value to convert.
+            </param>
+            <param name="badValue">
+            The <see cref="T:System.DateTime"/> value to return in the event that the
+            Julian Day is out of the supported range.  If this value is null,
+            an exception will be thrown instead.
+            </param>
+            <returns>
+            A <see cref="T:System.DateTime"/> value that contains the year, month, and
+            day values that are closest to the specified Julian Day value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.computeHMS(System.Int64,System.Nullable{System.DateTime})">
+            <summary>
+            Converts a Julian Day value to a <see cref="T:System.DateTime"/>.
+            This method was translated from the "computeHMS" function in the
+            "date.c" file belonging to the SQLite core library.
+            </summary>
+            <param name="jd">
+            The Julian Day value to convert.
+            </param>
+            <param name="badValue">
+            The <see cref="T:System.DateTime"/> value to return in the event that the
+            Julian Day value is out of the supported range.  If this value is
+            null, an exception will be thrown instead.
+            </param>
+            <returns>
+            A <see cref="T:System.DateTime"/> value that contains the hour, minute, and
+            second, and millisecond values that are closest to the specified
+            Julian Day value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.computeJD(System.DateTime)">
+            <summary>
+            Converts a <see cref="T:System.DateTime"/> to a Julian Day value.
+            This method was translated from the "computeJD" function in
+            the "date.c" file belonging to the SQLite core library.
+            Since the range of Julian Day values supported by this method
+            includes all possible (valid) values of a <see cref="T:System.DateTime"/>
+            value, it should be extremely difficult for this method to
+            raise an exception or return an undefined result.
+            </summary>
+            <param name="dateTime">
+            The <see cref="T:System.DateTime"/> value to convert.  This value
+            will be within the range of <see cref="F:System.DateTime.MinValue"/>
+            (00:00:00.0000000, January 1, 0001) to
+            <see cref="F:System.DateTime.MaxValue"/> (23:59:59.9999999, December
+            31, 9999).
+            </param>
+            <returns>
+            The nearest Julian Day value corresponding to the specified
+            <see cref="T:System.DateTime"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String)">
+            <summary>
+            Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
+            and DateTimeFormatString specified for the connection when it was opened.
+            </summary>
+            <remarks>
+            Acceptable ISO8601 DateTime formats are:
+            <list type="bullet">
+            <item><description>THHmmssK</description></item>
+            <item><description>THHmmK</description></item>
+            <item><description>HH:mm:ss.FFFFFFFK</description></item>
+            <item><description>HH:mm:ssK</description></item>
+            <item><description>HH:mmK</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ssK</description></item>
+            <item><description>yyyy-MM-dd HH:mmK</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
+            <item><description>yyyy-MM-ddTHH:mmK</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
+            <item><description>yyyyMMddHHmmssK</description></item>
+            <item><description>yyyyMMddHHmmK</description></item>
+            <item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
+            <item><description>THHmmss</description></item>
+            <item><description>THHmm</description></item>
+            <item><description>HH:mm:ss.FFFFFFF</description></item>
+            <item><description>HH:mm:ss</description></item>
+            <item><description>HH:mm</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ss</description></item>
+            <item><description>yyyy-MM-dd HH:mm</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
+            <item><description>yyyy-MM-ddTHH:mm</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ss</description></item>
+            <item><description>yyyyMMddHHmmss</description></item>
+            <item><description>yyyyMMddHHmm</description></item>
+            <item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
+            <item><description>yyyy-MM-dd</description></item>
+            <item><description>yyyyMMdd</description></item>
+            <item><description>yy-MM-dd</description></item>
+            </list>
+            If the string cannot be matched to one of the above formats -OR-
+            the DateTimeFormatString if one was provided, an exception will
+            be thrown.
+            </remarks>
+            <param name="dateText">The string containing either a long integer number of 100-nanosecond units since
+            System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
+            culture-independent formatted date and time string, a formatted date and time string in the current
+            culture, or an ISO8601-format string.</param>
+            <returns>A DateTime value</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.String,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
+            <summary>
+            Converts a string into a DateTime, using the specified DateTimeFormat,
+            DateTimeKind and DateTimeFormatString.
+            </summary>
+            <remarks>
+            Acceptable ISO8601 DateTime formats are:
+            <list type="bullet">
+            <item><description>THHmmssK</description></item>
+            <item><description>THHmmK</description></item>
+            <item><description>HH:mm:ss.FFFFFFFK</description></item>
+            <item><description>HH:mm:ssK</description></item>
+            <item><description>HH:mmK</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ss.FFFFFFFK</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ssK</description></item>
+            <item><description>yyyy-MM-dd HH:mmK</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFFK</description></item>
+            <item><description>yyyy-MM-ddTHH:mmK</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ssK</description></item>
+            <item><description>yyyyMMddHHmmssK</description></item>
+            <item><description>yyyyMMddHHmmK</description></item>
+            <item><description>yyyyMMddTHHmmssFFFFFFFK</description></item>
+            <item><description>THHmmss</description></item>
+            <item><description>THHmm</description></item>
+            <item><description>HH:mm:ss.FFFFFFF</description></item>
+            <item><description>HH:mm:ss</description></item>
+            <item><description>HH:mm</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ss.FFFFFFF</description></item>
+            <item><description>yyyy-MM-dd HH:mm:ss</description></item>
+            <item><description>yyyy-MM-dd HH:mm</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ss.FFFFFFF</description></item>
+            <item><description>yyyy-MM-ddTHH:mm</description></item>
+            <item><description>yyyy-MM-ddTHH:mm:ss</description></item>
+            <item><description>yyyyMMddHHmmss</description></item>
+            <item><description>yyyyMMddHHmm</description></item>
+            <item><description>yyyyMMddTHHmmssFFFFFFF</description></item>
+            <item><description>yyyy-MM-dd</description></item>
+            <item><description>yyyyMMdd</description></item>
+            <item><description>yy-MM-dd</description></item>
+            </list>
+            If the string cannot be matched to one of the above formats -OR-
+            the DateTimeFormatString if one was provided, an exception will
+            be thrown.
+            </remarks>
+            <param name="dateText">The string containing either a long integer number of 100-nanosecond units since
+            System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
+            culture-independent formatted date and time string, a formatted date and time string in the current
+            culture, or an ISO8601-format string.</param>
+            <param name="format">The SQLiteDateFormats to use.</param>
+            <param name="kind">The DateTimeKind to use.</param>
+            <param name="formatString">The DateTime format string to use.</param>
+            <returns>A DateTime value</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double)">
+            <summary>
+            Converts a julianday value into a DateTime
+            </summary>
+            <param name="julianDay">The value to convert</param>
+            <returns>A .NET DateTime</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Double,System.DateTimeKind)">
+            <summary>
+            Converts a julianday value into a DateTime
+            </summary>
+            <param name="julianDay">The value to convert</param>
+            <param name="kind">The DateTimeKind to use.</param>
+            <returns>A .NET DateTime</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int32,System.DateTimeKind)">
+            <summary>
+            Converts the specified number of seconds from the Unix epoch into a
+            <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="seconds">
+            The number of whole seconds since the Unix epoch.
+            </param>
+            <param name="kind">
+            Either Utc or Local time.
+            </param>
+            <returns>
+            The new <see cref="T:System.DateTime"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.Int64,System.DateTimeKind)">
+            <summary>
+            Converts the specified number of ticks since the epoch into a
+            <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="ticks">
+            The number of whole ticks since the epoch.
+            </param>
+            <param name="kind">
+            Either Utc or Local time.
+            </param>
+            <returns>
+            The new <see cref="T:System.DateTime"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToJulianDay(System.DateTime)">
+            <summary>
+            Converts a DateTime struct to a JulianDay double
+            </summary>
+            <param name="value">The DateTime to convert</param>
+            <returns>The JulianDay value the Datetime represents</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToUnixEpoch(System.DateTime)">
+            <summary>
+            Converts a DateTime struct to the whole number of seconds since the
+            Unix epoch.
+            </summary>
+            <param name="value">The DateTime to convert</param>
+            <returns>The whole number of seconds since the Unix epoch</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.GetDateTimeKindFormat(System.DateTimeKind,System.String)">
+            <summary>
+            Returns the DateTime format string to use for the specified DateTimeKind.
+            If <paramref name="formatString" /> is not null, it will be returned verbatim.
+            </summary>
+            <param name="kind">The DateTimeKind to use.</param>
+            <param name="formatString">The DateTime format string to use.</param>
+            <returns>
+            The DateTime format string to use for the specified DateTimeKind.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime)">
+            <summary>
+            Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
+            and DateTimeFormatString specified for the connection when it was opened.
+            </summary>
+            <param name="dateValue">The DateTime value to convert</param>
+            <returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
+            Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
+            string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToString(System.DateTime,System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String)">
+            <summary>
+            Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
+            and DateTimeFormatString specified for the connection when it was opened.
+            </summary>
+            <param name="dateValue">The DateTime value to convert</param>
+            <param name="format">The SQLiteDateFormats to use.</param>
+            <param name="kind">The DateTimeKind to use.</param>
+            <param name="formatString">The DateTime format string to use.</param>
+            <returns>Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a
+            Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
+            string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToDateTime(System.IntPtr,System.Int32)">
+            <summary>
+            Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
+            </summary>
+            <remarks>
+            This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
+            ToDateTime() on the string to return a DateTime.
+            </remarks>
+            <param name="ptr">A pointer to the UTF-8 encoded string</param>
+            <param name="len">The length in bytes of the string</param>
+            <returns>The parsed DateTime value</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.Split(System.String,System.Char)">
+            <summary>
+            Smart method of splitting a string.  Skips quoted elements, removes the quotes.
+            </summary>
+            <remarks>
+            This split function works somewhat like the String.Split() function in that it breaks apart a string into
+            pieces and returns the pieces as an array.  The primary differences are:
+            <list type="bullet">
+            <item><description>Only one character can be provided as a separator character</description></item>
+            <item><description>Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed.</description></item>
+            </list>
+            Thus, if splitting the following string looking for a comma:<br/>
+            One,Two, "Three, Four", Five<br/>
+            <br/>
+            The resulting array would contain<br/>
+            [0] One<br/>
+            [1] Two<br/>
+            [2] Three, Four<br/>
+            [3] Five<br/>
+            <br/>
+            Note that the leading and trailing spaces were removed from each item during the split.
+            </remarks>
+            <param name="source">Source string to split apart</param>
+            <param name="separator">Separator character</param>
+            <returns>A string array of the split up elements</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.NewSplit(System.String,System.Char,System.Boolean,System.String@)">
+            <summary>
+            Splits the specified string into multiple strings based on a separator
+            and returns the result as an array of strings.
+            </summary>
+            <param name="value">
+            The string to split into pieces based on the separator character.  If
+            this string is null, null will always be returned.  If this string is
+            empty, an array of zero strings will always be returned.
+            </param>
+            <param name="separator">
+            The character used to divide the original string into sub-strings.
+            This character cannot be a backslash or a double-quote; otherwise, no
+            work will be performed and null will be returned.
+            </param>
+            <param name="keepQuote">
+            If this parameter is non-zero, all double-quote characters will be
+            retained in the returned list of strings; otherwise, they will be
+            dropped.
+            </param>
+            <param name="error">
+            Upon failure, this parameter will be modified to contain an appropriate
+            error message.
+            </param>
+            <returns>
+            The new array of strings or null if the input string is null -OR- the
+            separator character is a backslash or a double-quote -OR- the string
+            contains an unbalanced backslash or double-quote character.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToStringWithProvider(System.Object,System.IFormatProvider)">
+            <summary>
+            Queries and returns the string representation for an object, using the
+            specified (or current) format provider.
+            </summary>
+            <param name="obj">
+            The object instance to return the string representation for.
+            </param>
+            <param name="provider">
+            The format provider to use -OR- null if the current format provider for
+            the thread should be used instead.
+            </param>
+            <returns>
+            The string representation for the object instance -OR- null if the
+            object instance is also null.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object,System.IFormatProvider,System.Boolean)">
+            <summary>
+            Attempts to convert an arbitrary object to the Boolean data type.
+            Null object values are converted to false.  Throws an exception
+            upon failure.
+            </summary>
+            <param name="obj">
+            The object value to convert.
+            </param>
+            <param name="provider">
+            The format provider to use.
+            </param>
+            <param name="viaFramework">
+            If non-zero, a string value will be converted using the
+            <see cref="M:System.Convert.ToBoolean(System.Object,System.IFormatProvider)"/>
+            method; otherwise, the <see cref="M:system.Data.SQLite.SQLiteConvert.ToBoolean(System.String)"/>
+            method will be used.
+            </param>
+            <returns>
+            The converted boolean value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
+            <summary>
+            Convert a value to true or false.
+            </summary>
+            <param name="source">A string or number representing true or false</param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
+            <summary>
+            Convert a string to true or false.
+            </summary>
+            <param name="source">A string representing true or false</param>
+            <returns></returns>
+            <remarks>
+            "yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
+            converted to a proper boolean value.
+            </remarks>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.SQLiteTypeToType(System.Data.SQLite.SQLiteType)">
+            <summary>
+            Converts a SQLiteType to a .NET Type object
+            </summary>
+            <param name="t">The SQLiteType to convert</param>
+            <returns>Returns a .NET Type object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.TypeToDbType(System.Type)">
+            <summary>
+            For a given intrinsic type, return a DbType
+            </summary>
+            <param name="typ">The native type to convert</param>
+            <returns>The corresponding (closest match) DbType</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToColumnSize(System.Data.DbType)">
+            <summary>
+            Returns the ColumnSize for the given DbType
+            </summary>
+            <param name="typ">The DbType to get the size of</param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultTypeName(System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Determines the default database type name to be used when a
+            per-connection value is not available.
+            </summary>
+            <param name="connection">
+            The connection context for type mappings, if any.
+            </param>
+            <returns>
+            The default database type name to use.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.DefaultTypeNameWarning(System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags,System.String)">
+            <summary>
+            If applicable, issues a trace log message warning about falling back to
+            the default database type name.
+            </summary>
+            <param name="dbType">
+            The database value type.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+            <param name="typeName">
+            The textual name of the database type.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.DefaultDbTypeWarning(System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Nullable{System.Data.DbType})">
+            <summary>
+            If applicable, issues a trace log message warning about falling back to
+            the default database value type.
+            </summary>
+            <param name="typeName">
+            The textual name of the database type.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+            <param name="dbType">
+            The database value type.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToTypeName(System.Data.SQLite.SQLiteConnection,System.Data.DbType,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            For a given database value type, return the "closest-match" textual database type name.
+            </summary>
+            <param name="connection">The connection context for custom type mappings, if any.</param>
+            <param name="dbType">The database value type.</param>
+            <param name="flags">The flags associated with the parent connection object.</param>
+            <returns>The type name or an empty string if it cannot be determined.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.DbTypeToType(System.Data.DbType)">
+            <summary>
+            Convert a DbType to a Type
+            </summary>
+            <param name="typ">The DbType to convert from</param>
+            <returns>The closest-match .NET type</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.TypeToAffinity(System.Type)">
+            <summary>
+            For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
+            </summary>
+            <param name="typ">The type to evaluate</param>
+            <returns>The SQLite type affinity for that type.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.GetSQLiteDbTypeMap">
+            <summary>
+            Builds and returns a map containing the database column types
+            recognized by this provider.
+            </summary>
+            <returns>
+            A map containing the database column types recognized by this
+            provider.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.IsStringDbType(System.Data.DbType)">
+            <summary>
+            Determines if a database type is considered to be a string.
+            </summary>
+            <param name="type">
+            The database type to check.
+            </param>
+            <returns>
+            Non-zero if the database type is considered to be a string, zero
+            otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.SettingValueToString(System.Object)">
+            <summary>
+            Determines and returns the runtime configuration setting string that
+            should be used in place of the specified object value.
+            </summary>
+            <param name="value">
+            The object value to convert to a string.
+            </param>
+            <returns>
+            Either the string to use in place of the object value -OR- null if it
+            cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.GetDefaultDbType(System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Determines the default <see cref="T:System.Data.DbType"/> value to be used when a
+            per-connection value is not available.
+            </summary>
+            <param name="connection">
+            The connection context for type mappings, if any.
+            </param>
+            <returns>
+            The default <see cref="T:System.Data.DbType"/> value to use.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeNull(System.String)">
+            <summary>
+            Determines if the specified textual value appears to be a
+            <see cref="T:System.DBNull"/> value.
+            </summary>
+            <param name="text">
+            The textual value to inspect.
+            </param>
+            <returns>
+            Non-zero if the text looks like a <see cref="T:System.DBNull"/> value,
+            zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeInt64(System.String)">
+            <summary>
+            Determines if the specified textual value appears to be an
+            <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="text">
+            The textual value to inspect.
+            </param>
+            <returns>
+            Non-zero if the text looks like an <see cref="T:System.Int64"/> value,
+            zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDouble(System.String)">
+            <summary>
+            Determines if the specified textual value appears to be a
+            <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="text">
+            The textual value to inspect.
+            </param>
+            <returns>
+            Non-zero if the text looks like a <see cref="T:System.Double"/> value,
+            zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.LooksLikeDateTime(System.Data.SQLite.SQLiteConvert,System.String)">
+            <summary>
+            Determines if the specified textual value appears to be a
+            <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="convert">
+            The <see cref="T:system.Data.SQLite.SQLiteConvert"/> object instance configured with
+            the chosen <see cref="T:System.DateTime"/> format.
+            </param>
+            <param name="text">
+            The textual value to inspect.
+            </param>
+            <returns>
+            Non-zero if the text looks like a <see cref="T:System.DateTime"/> in the
+            configured format, zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            For a given textual database type name, return the "closest-match" database type.
+            This method is called during query result processing; therefore, its performance
+            is critical.
+            </summary>
+            <param name="connection">The connection context for custom type mappings, if any.</param>
+            <param name="typeName">The textual name of the database type to match.</param>
+            <param name="flags">The flags associated with the parent connection object.</param>
+            <returns>The .NET DBType the text evaluates to.</returns>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBase.COR_E_EXCEPTION">
+            <summary>
+            The error code used for logging exceptions caught in user-provided
+            code.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.SetMemoryStatus(System.Boolean)">
+            <summary>
+            Sets the status of the memory usage tracking subsystem in the SQLite core library.  By default, this is enabled.
+            If this is disabled, memory usage tracking will not be performed.  This is not really a per-connection value, it is
+            global to the process.
+            </summary>
+            <param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
+            <returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.ReleaseMemory">
+            <summary>
+            Attempts to free as much heap memory as possible for the database connection.
+            </summary>
+            <returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Shutdown">
+            <summary>
+            Shutdown the SQLite engine so that it can be restarted with different config options.
+            We depend on auto initialization to recover.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.IsOpen">
+            <summary>
+            Determines if the associated native connection handle is open.
+            </summary>
+            <returns>
+            Non-zero if a database connection is open.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.GetFileName(System.String)">
+            <summary>
+            Returns the fully qualified path and file name for the currently open
+            database, if any.
+            </summary>
+            <param name="dbName">
+            The name of the attached database to query.
+            </param>
+            <returns>
+            The fully qualified path and file name for the currently open database,
+            if any.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.String,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
+            <summary>
+            Opens a database.
+            </summary>
+            <remarks>
+            Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
+            to bind all attributed user-defined functions and collating sequences to the new connection.
+            </remarks>
+            <param name="strFilename">The filename of the database to open.  SQLite automatically creates it if it doesn't exist.</param>
+            <param name="vfsName">The name of the VFS to use -OR- null to use the default VFS.</param>
+            <param name="connectionFlags">The flags associated with the parent connection object</param>
+            <param name="openFlags">The open flags to use when creating the connection</param>
+            <param name="maxPoolSize">The maximum size of the pool for the given filename</param>
+            <param name="usePool">If true, the connection can be pulled from the connection pool</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Close(System.Boolean)">
+            <summary>
+            Closes the currently-open database.
+            </summary>
+            <remarks>
+            After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
+            memory associated with the user-defined functions and collating sequences tied to the closed connection.
+            </remarks>
+            <param name="canThrow">Non-zero if the operation is allowed to throw exceptions, zero otherwise.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.SetTimeout(System.Int32)">
+            <summary>
+            Sets the busy timeout on the connection.  SQLiteCommand will call this before executing any command.
+            </summary>
+            <param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.GetLastError">
+            <summary>
+            Returns the text of the last error issued by SQLite
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.GetLastError(System.String)">
+            <summary>
+            Returns the text of the last error issued by SQLite -OR- the specified default error text if
+            none is available from the SQLite core library.
+            </summary>
+            <param name="defValue">
+            The error text to return in the event that one is not available from the SQLite core library.
+            </param>
+            <returns>
+            The error text.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
+            <summary>
+            When pooling is enabled, force this connection to be disposed rather than returned to the pool
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.CountPool">
+            <summary>
+            When pooling is enabled, returns the number of pool entries matching the current file name.
+            </summary>
+            <returns>The number of pool entries matching the current file name.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
+            <summary>
+            Prepares a SQL statement for execution.
+            </summary>
+            <param name="cnn">The source connection preparing the command.  Can be null for any caller except LINQ</param>
+            <param name="strSql">The SQL command text to prepare</param>
+            <param name="previous">The previous statement in a multi-statement command, or null if no previous statement exists</param>
+            <param name="timeoutMS">The timeout to wait before aborting the prepare</param>
+            <param name="strRemain">The remainder of the statement that was not processed.  Each call to prepare parses the
+            SQL up to to either the end of the text or to the first semi-colon delimiter.  The remaining text is returned
+            here for a subsequent call to Prepare() until all the text has been processed.</param>
+            <returns>Returns an initialized SQLiteStatement.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Step(System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            Steps through a prepared statement.
+            </summary>
+            <param name="stmt">The SQLiteStatement to step through</param>
+            <returns>True if a row was returned, False if not.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            Returns non-zero if the specified statement is read-only in nature.
+            </summary>
+            <param name="stmt">The statement to check.</param>
+            <returns>True if the outer query is read-only.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Reset(System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            Resets a prepared statement so it can be executed again.  If the error returned is SQLITE_SCHEMA,
+            transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
+            </summary>
+            <param name="stmt">The statement to reset</param>
+            <returns>Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.Cancel">
+            <summary>
+            Attempts to interrupt the query currently executing on the associated
+            native database connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            This function binds a user-defined function to the connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be bound.
+            </param>
+            <param name="function">
+            The <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance that implements the
+            function to be bound.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            This function unbinds a user-defined function from the connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be unbound.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+            <returns>Non-zero if the function was unbound.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            Calls the native SQLite core library in order to create a disposable
+            module containing the implementation of a virtual table.
+            </summary>
+            <param name="module">
+            The module object to be used when creating the native disposable module.
+            </param>
+            <param name="flags">
+            The flags for the associated <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            Calls the native SQLite core library in order to cleanup the resources
+            associated with a module containing the implementation of a virtual table.
+            </summary>
+            <param name="module">
+            The module object previously passed to the <see cref="M:system.Data.SQLite.SQLiteBase.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
+            method.
+            </param>
+            <param name="flags">
+            The flags for the associated <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
+            <summary>
+            Calls the native SQLite core library in order to declare a virtual table
+            in response to a call into the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
+            or <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
+            </summary>
+            <param name="module">
+            The virtual table module that is to be responsible for the virtual table
+            being declared.
+            </param>
+            <param name="strSql">
+            The string containing the SQL statement describing the virtual table to
+            be declared.
+            </param>
+            <param name="error">
+            Upon success, the contents of this parameter are undefined.  Upon failure,
+            it should contain an appropriate error message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
+            <summary>
+            Calls the native SQLite core library in order to declare a virtual table
+            function in response to a call into the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
+            or <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
+            </summary>
+            <param name="module">
+            The virtual table module that is to be responsible for the virtual table
+            function being declared.
+            </param>
+            <param name="argumentCount">
+            The number of arguments to the function being declared.
+            </param>
+            <param name="name">
+            The name of the function being declared.
+            </param>
+            <param name="error">
+            Upon success, the contents of this parameter are undefined.  Upon failure,
+            it should contain an appropriate error message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.SetLoadExtension(System.Boolean)">
+            <summary>
+            Enables or disabled extension loading by SQLite.
+            </summary>
+            <param name="bOnOff">
+            True to enable loading of extensions, false to disable.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.LoadExtension(System.String,System.String)">
+            <summary>
+            Loads a SQLite extension library from the named file.
+            </summary>
+            <param name="fileName">
+            The name of the dynamic link library file containing the extension.
+            </param>
+            <param name="procName">
+            The name of the exported function used to initialize the extension.
+            If null, the default "sqlite3_extension_init" will be used.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.SetExtendedResultCodes(System.Boolean)">
+            <summary>
+            Enables or disabled extened result codes returned by SQLite
+            </summary>
+            <param name="bOnOff">true to enable extended result codes, false to disable.</param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.ResultCode">
+            <summary>
+            Returns the numeric result code for the most recent failed SQLite API call
+            associated with the database connection.
+            </summary>
+            <returns>Result code</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.ExtendedResultCode">
+            <summary>
+            Returns the extended numeric result code for the most recent failed SQLite API call
+            associated with the database connection.
+            </summary>
+            <returns>Extended result code</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            <summary>
+            Add a log message via the SQLite sqlite3_log interface.
+            </summary>
+            <param name="iErrCode">Error code to be logged with the message.</param>
+            <param name="zMessage">String to be logged.  Unlike the SQLite sqlite3_log()
+            interface, this should be pre-formatted.  Consider using the
+            String.Format() function.</param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.IsInitialized">
+            <summary>
+            Checks if the SQLite core library has been initialized in the current process.
+            </summary>
+            <returns>
+            Non-zero if the SQLite core library has been initialized in the current process,
+            zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
+            <summary>
+            Creates a new SQLite backup object based on the provided destination
+            database connection.  The source database connection is the one
+            associated with this object.  The source and destination database
+            connections cannot be the same.
+            </summary>
+            <param name="destCnn">The destination database connection.</param>
+            <param name="destName">The destination database name.</param>
+            <param name="sourceName">The source database name.</param>
+            <returns>The newly created backup object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
+            <summary>
+            Copies up to N pages from the source database to the destination
+            database associated with the specified backup object.
+            </summary>
+            <param name="backup">The backup object to use.</param>
+            <param name="nPage">
+            The number of pages to copy or negative to copy all remaining pages.
+            </param>
+            <param name="retry">
+            Set to true if the operation needs to be retried due to database
+            locking issues.
+            </param>
+            <returns>
+            True if there are more pages to be copied, false otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
+            <summary>
+            Returns the number of pages remaining to be copied from the source
+            database to the destination database associated with the specified
+            backup object.
+            </summary>
+            <param name="backup">The backup object to check.</param>
+            <returns>The number of pages remaining to be copied.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
+            <summary>
+            Returns the total number of pages in the source database associated
+            with the specified backup object.
+            </summary>
+            <param name="backup">The backup object to check.</param>
+            <returns>The total number of pages in the source database.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.FinishBackup(System.Data.SQLite.SQLiteBackup)">
+            <summary>
+            Destroys the backup object, rolling back any backup that may be in
+            progess.
+            </summary>
+            <param name="backup">The backup object to destroy.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBase.FallbackGetErrorString(System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Returns the error message for the specified SQLite return code using
+            the internal static lookup table.
+            </summary>
+            <param name="rc">The SQLite return code.</param>
+            <returns>The error message or null if it cannot be found.</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.Version">
+            <summary>
+            Returns a string representing the active version of SQLite
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.VersionNumber">
+            <summary>
+            Returns an integer representing the active version of SQLite
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.LastInsertRowId">
+            <summary>
+            Returns the rowid of the most recent successful INSERT into the database from this connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.Changes">
+            <summary>
+            Returns the number of changes the last executing insert/update caused.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.MemoryUsed">
+            <summary>
+            Returns the amount of memory (in bytes) currently in use by the SQLite core library.  This is not really a per-connection
+            value, it is global to the process.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.MemoryHighwater">
+            <summary>
+            Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
+            This is not really a per-connection value, it is global to the process.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.OwnHandle">
+            <summary>
+            Returns non-zero if the underlying native connection handle is owned by this instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.Functions">
+            <summary>
+            Returns the logical list of functions associated with this connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteBase.AutoCommit">
+            <summary>
+            Returns non-zero if the given database connection is in autocommit mode.
+            Autocommit mode is on by default.  Autocommit mode is disabled by a BEGIN
+            statement.  Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLite3._sql">
+            <summary>
+            The opaque pointer returned to us by the sqlite provider
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLite3._functions">
+            <summary>
+            The user-defined functions registered on this connection
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLite3._modules">
+            <summary>
+            The modules created using this connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
+            <summary>
+            Constructs the object used to interact with the SQLite core library
+            using the UTF-8 text encoding.
+            </summary>
+            <param name="fmt">
+            The DateTime format to be used when converting string values to a
+            DateTime and binding DateTime parameters.
+            </param>
+            <param name="kind">
+            The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
+            values.
+            </param>
+            <param name="fmtString">
+            The format string to be used when parsing and formatting DateTime
+            values.
+            </param>
+            <param name="db">
+            The native handle to be associated with the database connection.
+            </param>
+            <param name="fileName">
+            The fully qualified file name associated with <paramref name="db "/>.
+            </param>
+            <param name="ownHandle">
+            Non-zero if the newly created object instance will need to dispose
+            of <paramref name="db"/> when it is no longer needed.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.DisposeModules">
+            <summary>
+            This method attempts to dispose of all the <see cref="T:system.Data.SQLite.SQLiteModule"/> derived
+            object instances currently associated with the native database connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.GetCancelCount">
+            <summary>
+            Returns the number of times the <see cref="M:system.Data.SQLite.SQLite3.Cancel"/> method has been
+            called.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.ShouldThrowForCancel">
+            <summary>
+            This method determines whether or not a <see cref="T:system.Data.SQLite.SQLiteException"/>
+            with a return code of <see cref="F:system.Data.SQLite.SQLiteErrorCode.Interrupt"/> should
+            be thrown after making a call into the SQLite core library.
+            </summary>
+            <returns>
+            Non-zero if a <see cref="T:system.Data.SQLite.SQLiteException"/> to be thrown.  This method
+            will only return non-zero if the <see cref="M:system.Data.SQLite.SQLite3.Cancel"/> method was called
+            one or more times during a call into the SQLite core library (e.g. when
+            the sqlite3_prepare*() or sqlite3_step() APIs are used).
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.ResetCancelCount">
+            <summary>
+            Resets the value of the <see cref="F:system.Data.SQLite.SQLite3._cancelCount"/> field.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.Cancel">
+            <summary>
+            Attempts to interrupt the query currently executing on the associated
+            native database connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            This function binds a user-defined function to the connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be bound.
+            </param>
+            <param name="function">
+            The <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance that implements the
+            function to be bound.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            This function binds a user-defined function to the connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be unbound.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+            <returns>Non-zero if the function was unbound and removed.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.ReleaseMemory">
+            <summary>
+            Attempts to free as much heap memory as possible for the database connection.
+            </summary>
+            <returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.StaticReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
+            <summary>
+            Attempts to free N bytes of heap memory by deallocating non-essential memory
+            allocations held by the database library. Memory used to cache database pages
+            to improve performance is an example of non-essential memory.  This is a no-op
+            returning zero if the SQLite core library was not compiled with the compile-time
+            option SQLITE_ENABLE_MEMORY_MANAGEMENT.  Optionally, attempts to reset and/or
+            compact the Win32 native heap, if applicable.
+            </summary>
+            <param name="nBytes">
+            The requested number of bytes to free.
+            </param>
+            <param name="reset">
+            Non-zero to attempt a heap reset.
+            </param>
+            <param name="compact">
+            Non-zero to attempt heap compaction.
+            </param>
+            <param name="nFree">
+            The number of bytes actually freed.  This value may be zero.
+            </param>
+            <param name="resetOk">
+            This value will be non-zero if the heap reset was successful.
+            </param>
+            <param name="nLargest">
+            The size of the largest committed free block in the heap, in bytes.
+            This value will be zero unless heap compaction is enabled.
+            </param>
+            <returns>
+            A standard SQLite return code (i.e. zero for success and non-zero
+            for failure).
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.Shutdown">
+            <summary>
+            Shutdown the SQLite engine so that it can be restarted with different
+            configuration options.  We depend on auto initialization to recover.
+            </summary>
+            <returns>Returns a standard SQLite result code.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.StaticShutdown(System.Boolean)">
+            <summary>
+            Shutdown the SQLite engine so that it can be restarted with different
+            configuration options.  We depend on auto initialization to recover.
+            </summary>
+            <param name="directories">
+            Non-zero to reset the database and temporary directories to their
+            default values, which should be null for both.  This parameter has no
+            effect on non-Windows operating systems.
+            </param>
+            <returns>Returns a standard SQLite result code.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.IsOpen">
+            <summary>
+            Determines if the associated native connection handle is open.
+            </summary>
+            <returns>
+            Non-zero if the associated native connection handle is open.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.GetFileName(System.String)">
+            <summary>
+            Returns the fully qualified path and file name for the currently open
+            database, if any.
+            </summary>
+            <param name="dbName">
+            The name of the attached database to query.
+            </param>
+            <returns>
+            The fully qualified path and file name for the currently open database,
+            if any.
+            </returns>
+        </member>
+        <member name="F:System.Data.SQLite.SQLite3.have_errstr">
+            <summary>
+            Has the sqlite3_errstr() core library API been checked for yet?
+            If so, is it present?
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Returns the error message for the specified SQLite return code using
+            the sqlite3_errstr() function, falling back to the internal lookup
+            table if necessary.
+            </summary>
+            <param name="rc">The SQLite return code.</param>
+            <returns>The error message or null if it cannot be found.</returns>
+        </member>
+        <member name="F:System.Data.SQLite.SQLite3.have_stmt_readonly">
+            <summary>
+            Has the sqlite3_stmt_readonly() core library API been checked for yet?
+            If so, is it present?
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.IsReadOnly(System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            Returns non-zero if the specified statement is read-only in nature.
+            </summary>
+            <param name="stmt">The statement to check.</param>
+            <returns>True if the outer query is read-only.</returns>
+        </member>
+        <member name="F:System.Data.SQLite.SQLite3.forceLogPrepare">
+            <summary>
+            This field is used to keep track of whether or not the
+            "SQLite_ForceLogPrepare" environment variable has been queried.  If so,
+            it will only be non-zero if the environment variable was present.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.ForceLogPrepare">
+            <summary>
+            Determines if all calls to prepare a SQL query will be logged,
+            regardless of the flags for the associated connection.
+            </summary>
+            <returns>
+            Non-zero to log all calls to prepare a SQL query.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            Calls the native SQLite core library in order to create a disposable
+            module containing the implementation of a virtual table.
+            </summary>
+            <param name="module">
+            The module object to be used when creating the native disposable module.
+            </param>
+            <param name="flags">
+            The flags for the associated <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.DisposeModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            Calls the native SQLite core library in order to cleanup the resources
+            associated with a module containing the implementation of a virtual table.
+            </summary>
+            <param name="module">
+            The module object previously passed to the <see cref="M:system.Data.SQLite.SQLite3.CreateModule(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteConnectionFlags)"/>
+            method.
+            </param>
+            <param name="flags">
+            The flags for the associated <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.DeclareVirtualTable(System.Data.SQLite.SQLiteModule,System.String,System.String@)">
+            <summary>
+            Calls the native SQLite core library in order to declare a virtual table
+            in response to a call into the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
+            or <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
+            </summary>
+            <param name="module">
+            The virtual table module that is to be responsible for the virtual table
+            being declared.
+            </param>
+            <param name="strSql">
+            The string containing the SQL statement describing the virtual table to
+            be declared.
+            </param>
+            <param name="error">
+            Upon success, the contents of this parameter are undefined.  Upon failure,
+            it should contain an appropriate error message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.DeclareVirtualFunction(System.Data.SQLite.SQLiteModule,System.Int32,System.String,System.String@)">
+            <summary>
+            Calls the native SQLite core library in order to declare a virtual table
+            function in response to a call into the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
+            or <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table methods.
+            </summary>
+            <param name="module">
+            The virtual table module that is to be responsible for the virtual table
+            function being declared.
+            </param>
+            <param name="argumentCount">
+            The number of arguments to the function being declared.
+            </param>
+            <param name="name">
+            The name of the function being declared.
+            </param>
+            <param name="error">
+            Upon success, the contents of this parameter are undefined.  Upon failure,
+            it should contain an appropriate error message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.SetLoadExtension(System.Boolean)">
+            <summary>
+            Enables or disabled extension loading by SQLite.
+            </summary>
+            <param name="bOnOff">
+            True to enable loading of extensions, false to disable.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.LoadExtension(System.String,System.String)">
+            <summary>
+            Loads a SQLite extension library from the named file.
+            </summary>
+            <param name="fileName">
+            The name of the dynamic link library file containing the extension.
+            </param>
+            <param name="procName">
+            The name of the exported function used to initialize the extension.
+            If null, the default "sqlite3_extension_init" will be used.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.SetExtendedResultCodes(System.Boolean)">
+            Enables or disabled extended result codes returned by SQLite
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.ResultCode">
+            Gets the last SQLite error code
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.ExtendedResultCode">
+            Gets the last SQLite extended error code
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            Add a log message via the SQLite sqlite3_log interface.
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.StaticLogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            Add a log message via the SQLite sqlite3_log interface.
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.SetLogCallback(System.Data.SQLite.SQLiteLogCallback)">
+            <summary>
+            Allows the setting of a logging callback invoked by SQLite when a
+            log event occurs.  Only one callback may be set.  If NULL is passed,
+            the logging callback is unregistered.
+            </summary>
+            <param name="func">The callback function to invoke.</param>
+            <returns>Returns a result code</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.InitializeBackup(System.Data.SQLite.SQLiteConnection,System.String,System.String)">
+            <summary>
+            Creates a new SQLite backup object based on the provided destination
+            database connection.  The source database connection is the one
+            associated with this object.  The source and destination database
+            connections cannot be the same.
+            </summary>
+            <param name="destCnn">The destination database connection.</param>
+            <param name="destName">The destination database name.</param>
+            <param name="sourceName">The source database name.</param>
+            <returns>The newly created backup object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.StepBackup(System.Data.SQLite.SQLiteBackup,System.Int32,System.Boolean@)">
+            <summary>
+            Copies up to N pages from the source database to the destination
+            database associated with the specified backup object.
+            </summary>
+            <param name="backup">The backup object to use.</param>
+            <param name="nPage">
+            The number of pages to copy, negative to copy all remaining pages.
+            </param>
+            <param name="retry">
+            Set to true if the operation needs to be retried due to database
+            locking issues; otherwise, set to false.
+            </param>
+            <returns>
+            True if there are more pages to be copied, false otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.RemainingBackup(System.Data.SQLite.SQLiteBackup)">
+            <summary>
+            Returns the number of pages remaining to be copied from the source
+            database to the destination database associated with the specified
+            backup object.
+            </summary>
+            <param name="backup">The backup object to check.</param>
+            <returns>The number of pages remaining to be copied.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.PageCountBackup(System.Data.SQLite.SQLiteBackup)">
+            <summary>
+            Returns the total number of pages in the source database associated
+            with the specified backup object.
+            </summary>
+            <param name="backup">The backup object to check.</param>
+            <returns>The total number of pages in the source database.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.FinishBackup(System.Data.SQLite.SQLiteBackup)">
+            <summary>
+            Destroys the backup object, rolling back any backup that may be in
+            progess.
+            </summary>
+            <param name="backup">The backup object to destroy.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.IsInitialized">
+            <summary>
+            Determines if the SQLite core library has been initialized for the
+            current process.
+            </summary>
+            <returns>
+            A boolean indicating whether or not the SQLite core library has been
+            initialized for the current process.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.StaticIsInitialized">
+            <summary>
+            Determines if the SQLite core library has been initialized for the
+            current process.
+            </summary>
+            <returns>
+            A boolean indicating whether or not the SQLite core library has been
+            initialized for the current process.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3.GetValue(System.Data.SQLite.SQLiteStatement,System.Data.SQLite.SQLiteConnectionFlags,System.Int32,System.Data.SQLite.SQLiteType)">
+            <summary>
+            Helper function to retrieve a column of data from an active statement.
+            </summary>
+            <param name="stmt">The statement being step()'d through</param>
+            <param name="flags">The flags associated with the connection.</param>
+            <param name="index">The column index to retrieve</param>
+            <param name="typ">The type of data contained in the column.  If Uninitialized, this function will retrieve the datatype information.</param>
+            <returns>Returns the data in the column</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLite3.OwnHandle">
+            <summary>
+            Returns non-zero if the underlying native connection handle is owned
+            by this instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLite3.Functions">
+            <summary>
+            Returns the logical list of functions associated with this connection.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLite3_UTF16">
+            <summary>
+            Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3_UTF16.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.IntPtr,System.String,System.Boolean)">
+            <summary>
+            Constructs the object used to interact with the SQLite core library
+            using the UTF-8 text encoding.
+            </summary>
+            <param name="fmt">
+            The DateTime format to be used when converting string values to a
+            DateTime and binding DateTime parameters.
+            </param>
+            <param name="kind">
+            The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
+            values.
+            </param>
+            <param name="fmtString">
+            The format string to be used when parsing and formatting DateTime
+            values.
+            </param>
+            <param name="db">
+            The native handle to be associated with the database connection.
+            </param>
+            <param name="fileName">
+            The fully qualified file name associated with <paramref name="db"/>.
+            </param>
+            <param name="ownHandle">
+            Non-zero if the newly created object instance will need to dispose
+            of <paramref name="db"/> when it is no longer needed.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLite3_UTF16.ToString(System.IntPtr,System.Int32)">
+            <summary>
+            Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
+            </summary>
+            <param name="b">A pointer to a UTF-16 string</param>
+            <param name="nbytelen">The length (IN BYTES) of the string</param>
+            <returns>A .NET string</returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteBackup">
+            <summary>
+            Represents a single SQL backup in SQLite.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._sql">
+            <summary>
+            The underlying SQLite object this backup is bound to.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._sqlite_backup">
+            <summary>
+            The actual backup handle.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._destDb">
+            <summary>
+            The destination database for the backup.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._zDestName">
+            <summary>
+            The destination database name for the backup.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._sourceDb">
+            <summary>
+            The source database for the backup.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._zSourceName">
+            <summary>
+            The source database name for the backup.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteBackup._stepResult">
+            <summary>
+            The last result from the StepBackup method of the SQLite3 class.
+            This is used to determine if the call to the FinishBackup method of
+            the SQLite3 class should throw an exception when it receives a non-Ok
+            return code from the core SQLite library.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBackup.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteBackupHandle,System.IntPtr,System.Byte[],System.IntPtr,System.Byte[])">
+            <summary>
+            Initializes the backup.
+            </summary>
+            <param name="sqlbase">The base SQLite object.</param>
+            <param name="backup">The backup handle.</param>
+            <param name="destDb">The destination database for the backup.</param>
+            <param name="zDestName">The destination database name for the backup.</param>
+            <param name="sourceDb">The source database for the backup.</param>
+            <param name="zSourceName">The source database name for the backup.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBackup.Dispose">
+            <summary>
+            Disposes and finalizes the backup.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.ISQLiteSchemaExtensions">
+             <summary>
+            
+             </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteSchemaExtensions.BuildTempSchema(System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Creates temporary tables on the connection so schema information can be queried.
+            </summary>
+            <param name="connection">
+            The connection upon which to build the schema tables.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnectionFlags">
+            <summary>
+            The extra behavioral flags that can be applied to a connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.None">
+            <summary>
+            No extra flags.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPrepare">
+            <summary>
+            Enable logging of all SQL statements to be prepared.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogPreBind">
+            <summary>
+            Enable logging of all bound parameter types and raw values.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBind">
+            <summary>
+            Enable logging of all bound parameter strongly typed values.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogCallbackException">
+            <summary>
+            Enable logging of all exceptions caught from user-provided
+            managed code called from native code via delegates.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogBackup">
+            <summary>
+            Enable logging of backup API errors.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoExtensionFunctions">
+            <summary>
+            Skip adding the extension functions provided by the native
+            interop assembly.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindUInt32AsInt64">
+            <summary>
+            When binding parameter values with the <see cref="T:System.UInt32"/>
+            type, use the interop method that accepts an <see cref="T:System.Int64"/>
+            value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAllAsText">
+            <summary>
+            When binding parameter values, always bind them as though they were
+            plain text (i.e. no numeric, date/time, or other conversions should
+            be attempted).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.GetAllAsText">
+            <summary>
+            When returning column values, always return them as though they were
+            plain text (i.e. no numeric, date/time, or other conversions should
+            be attempted).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLoadExtension">
+            <summary>
+            Prevent this <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance from
+            loading extensions.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoCreateModule">
+            <summary>
+            Prevent this <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance from
+            creating virtual table modules.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoBindFunctions">
+            <summary>
+            Skip binding any functions provided by other managed assemblies when
+            opening the connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoLogModule">
+            <summary>
+            Skip setting the logging related properties of the
+            <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance that was passed to
+            the <see cref="M:system.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)"/> method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleError">
+            <summary>
+            Enable logging of all virtual table module errors seen by the
+            <see cref="M:system.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogModuleException">
+            <summary>
+            Enable logging of certain virtual table module exceptions that cannot
+            be easily discovered via other means.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.TraceWarning">
+            <summary>
+            Enable tracing of potentially important [non-fatal] error conditions
+            that cannot be easily reported through other means.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertInvariantText">
+            <summary>
+            When binding parameter values, always use the invariant culture when
+            converting their values from strings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindInvariantText">
+            <summary>
+            When binding parameter values, always use the invariant culture when
+            converting their values to strings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool">
+            <summary>
+            Disable using the connection pool by default.  If the "Pooling"
+            connection string property is specified, its value will override
+            this flag.  The precise outcome of combining this flag with the
+            <see cref="F:system.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool"/> flag is unspecified; however,
+            one of the flags will be in effect.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionPool">
+            <summary>
+            Enable using the connection pool by default.  If the "Pooling"
+            connection string property is specified, its value will override
+            this flag.  The precise outcome of combining this flag with the
+            <see cref="F:system.Data.SQLite.SQLiteConnectionFlags.NoConnectionPool"/> flag is unspecified; however,
+            one of the flags will be in effect.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes">
+            <summary>
+            Enable using per-connection mappings between type names and
+            <see cref="T:System.Data.DbType"/> values.  Also see the
+            <see cref="M:system.Data.SQLite.SQLiteConnection.ClearTypeMappings"/>,
+            <see cref="M:system.Data.SQLite.SQLiteConnection.GetTypeMappings"/>, and
+            <see cref="M:system.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)"/> methods.  These
+            per-connection mappings, when present, override the corresponding
+            global mappings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoGlobalTypes">
+            <summary>
+            Disable using global mappings between type names and
+            <see cref="T:System.Data.DbType"/> values.  This may be useful in some very narrow
+            cases; however, if there are no per-connection type mappings, the
+            fallback defaults will be used for both type names and their
+            associated <see cref="T:System.Data.DbType"/> values.  Therefore, use of this flag
+            is not recommended.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.StickyHasRows">
+            <summary>
+            When the <see cref="P:system.Data.SQLite.SQLiteDataReader.HasRows"/> property is used, it
+            should return non-zero if there were ever any rows in the associated
+            result sets.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.StrictEnlistment">
+            <summary>
+            Enable "strict" transaction enlistment semantics.  Setting this flag
+            will cause an exception to be thrown if an attempt is made to enlist
+            in a transaction with an unavailable or unsupported isolation level.
+            In the future, more extensive checks may be enabled by this flag as
+            well.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.MapIsolationLevels">
+            <summary>
+            Enable mapping of unsupported transaction isolation levels to the
+            closest supported transaction isolation level.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectTextAffinity">
+            <summary>
+            When returning column values, attempt to detect the affinity of
+            textual values by checking if they fully conform to those of the
+            <see cref="F:system.Data.SQLite.TypeAffinity.Null"/>,
+            <see cref="F:system.Data.SQLite.TypeAffinity.Int64"/>,
+            <see cref="F:system.Data.SQLite.TypeAffinity.Double"/>,
+            or <see cref="F:system.Data.SQLite.TypeAffinity.DateTime"/> types.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.DetectStringType">
+            <summary>
+            When returning column values, attempt to detect the type of
+            string values by checking if they fully conform to those of
+            the <see cref="F:system.Data.SQLite.TypeAffinity.Null"/>,
+            <see cref="F:system.Data.SQLite.TypeAffinity.Int64"/>,
+            <see cref="F:system.Data.SQLite.TypeAffinity.Double"/>,
+            or <see cref="F:system.Data.SQLite.TypeAffinity.DateTime"/> types.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.NoConvertSettings">
+            <summary>
+            Skip querying runtime configuration settings for use by the
+            <see cref="T:system.Data.SQLite.SQLiteConvert"/> class, including the default
+            <see cref="T:System.Data.DbType"/> value and default database type name.
+            <b>NOTE: If the <see cref="P:system.Data.SQLite.SQLiteConnection.DefaultDbType"/>
+            and/or <see cref="P:system.Data.SQLite.SQLiteConnection.DefaultTypeName"/>
+            properties are not set explicitly nor set via their connection
+            string properties and repeated calls to determine these runtime
+            configuration settings are seen to be a problem, this flag
+            should be set.</b>
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindDateTimeWithKind">
+            <summary>
+            When binding parameter values with the <see cref="T:System.DateTime"/>
+            type, take their <see cref="T:System.DateTimeKind"/> into account as
+            well as that of the associated <see cref="T:system.Data.SQLite.SQLiteConnection"/>.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.RollbackOnException">
+            <summary>
+            If an exception is caught when raising the
+            <see cref="E:system.Data.SQLite.SQLiteConnection.Commit"/> event, the transaction
+            should be rolled back.  If this is not specified, the transaction
+            will continue the commit process instead.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.DenyOnException">
+            <summary>
+            If an exception is caught when raising the
+            <see cref="E:system.Data.SQLite.SQLiteConnection.Authorize"/> event, the action should
+            should be denied.  If this is not specified, the action will be
+            allowed instead.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.InterruptOnException">
+            <summary>
+            If an exception is caught when raising the
+            <see cref="E:system.Data.SQLite.SQLiteConnection.Progress"/> event, the operation
+            should be interrupted.  If this is not specified, the operation
+            will simply continue.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.UnbindFunctionsOnClose">
+            <summary>
+            Attempt to unbind all functions provided by other managed assemblies
+            when closing the connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsText">
+            <summary>
+            When binding parameter values or returning column values, always
+            treat them as though they were plain text (i.e. no numeric,
+            date/time, or other conversions should be attempted).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindInvariantText">
+            <summary>
+            When binding parameter values, always use the invariant culture when
+            converting their values to strings or from strings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.BindAndGetAllAsInvariantText">
+            <summary>
+            When binding parameter values or returning column values, always
+            treat them as though they were plain text (i.e. no numeric,
+            date/time, or other conversions should be attempted) and always
+            use the invariant culture when converting their values to strings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.ConvertAndBindAndGetAllAsInvariantText">
+            <summary>
+            When binding parameter values or returning column values, always
+            treat them as though they were plain text (i.e. no numeric,
+            date/time, or other conversions should be attempted) and always
+            use the invariant culture when converting their values to strings
+            or from strings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.LogAll">
+            <summary>
+            Enable all logging.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.Default">
+            <summary>
+            The default extra flags for new connections.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionFlags.DefaultAndLogAll">
+            <summary>
+            The default extra flags for new connections with all logging enabled.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteCommand">
+            <summary>
+            SQLite implementation of DbCommand.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand.DefaultConnectionString">
+            <summary>
+            The default connection string to be used when creating a temporary
+            connection to execute a command via the static
+            <see cref="M:system.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])"/> or
+            <see cref="M:system.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])"/>
+            methods.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._commandText">
+            <summary>
+            The command text this command is based on
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._cnn">
+            <summary>
+            The connection the command is associated with
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._version">
+            <summary>
+            The version of the connection the command is associated with
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._activeReader">
+            <summary>
+            Indicates whether or not a DataReader is active on the command.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._commandTimeout">
+            <summary>
+            The timeout for the command, kludged because SQLite doesn't support per-command timeout values
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._designTimeVisible">
+            <summary>
+            Designer support
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._updateRowSource">
+            <summary>
+            Used by DbDataAdapter to determine updating behavior
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._parameterCollection">
+            <summary>
+            The collection of parameters for the command
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._statementList">
+            <summary>
+            The SQL command text, broken into individual SQL statements as they are executed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._remainingText">
+            <summary>
+            Unprocessed SQL text that has not been executed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteCommand._transaction">
+            <summary>
+            Transaction associated with this command
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.#ctor">
+            <overloads>
+             Constructs a new SQLiteCommand
+             </overloads>
+             <summary>
+             Default constructor
+             </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String)">
+            <summary>
+            Initializes the command with the given command text
+            </summary>
+            <param name="commandText">The SQL command text</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Initializes the command with the given SQL command text and attach the command to the specified
+            connection.
+            </summary>
+            <param name="commandText">The SQL command text</param>
+            <param name="connection">The connection to associate with the command</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Initializes the command and associates it with the specified connection.
+            </summary>
+            <param name="connection">The connection to associate with the command</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.#ctor(System.String,System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteTransaction)">
+            <summary>
+            Initializes a command with the given SQL, connection and transaction
+            </summary>
+            <param name="commandText">The SQL command text</param>
+            <param name="connection">The connection to associate with the command</param>
+            <param name="transaction">The transaction the command should be associated with</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Dispose(System.Boolean)">
+            <summary>
+            Disposes of the command and clears all member variables
+            </summary>
+            <param name="disposing">Whether or not the class is being explicitly or implicitly disposed</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.GetFlags(System.Data.SQLite.SQLiteCommand)">
+            <summary>
+            This method attempts to query the flags associated with the database
+            connection in use.  If the database connection is disposed, the default
+            flags will be returned.
+            </summary>
+            <param name="command">
+            The command containing the databse connection to query the flags from.
+            </param>
+            <returns>
+            The connection flags value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ClearCommands">
+            <summary>
+            Clears and destroys all statements currently prepared
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.BuildNextCommand">
+            <summary>
+            Builds an array of prepared statements for each complete SQL statement in the command text
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Cancel">
+            <summary>
+            Not implemented
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.CreateDbParameter">
+            <summary>
+            Forwards to the local CreateParameter() function
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.CreateParameter">
+            <summary>
+            Create a new parameter
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.InitializeForReader">
+            <summary>
+            This function ensures there are no active readers, that we have a valid connection,
+            that the connection is open, that all statements are prepared and all parameters are assigned
+            in preparation for allocating a data reader.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
+            <summary>
+            Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
+            </summary>
+            <param name="behavior">The behavior the data reader should adopt</param>
+            <returns>Returns a SQLiteDataReader object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.String,System.Object[])">
+            <summary>
+            This method creates a new connection, executes the query using the given
+            execution type, closes the connection, and returns the results.  If the
+            connection string is null, a temporary in-memory database connection will
+            be used.
+            </summary>
+            <param name="commandText">
+            The text of the command to be executed.
+            </param>
+            <param name="executeType">
+            The execution type for the command.  This is used to determine which method
+            of the command object to call, which then determines the type of results
+            returned, if any.
+            </param>
+            <param name="connectionString">
+            The connection string to the database to be opened, used, and closed.  If
+            this parameter is null, a temporary in-memory databse will be used.
+            </param>
+            <param name="args">
+            The SQL parameter values to be used when building the command object to be
+            executed, if any.
+            </param>
+            <returns>
+            The results of the query -OR- null if no results were produced from the
+            given execution type.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Execute(System.String,System.Data.SQLite.SQLiteExecuteType,System.Data.CommandBehavior,System.String,System.Object[])">
+            <summary>
+            This method creates a new connection, executes the query using the given
+            execution type and command behavior, closes the connection unless a data
+            reader is created, and returns the results.  If the connection string is
+            null, a temporary in-memory database connection will be used.
+            </summary>
+            <param name="commandText">
+            The text of the command to be executed.
+            </param>
+            <param name="executeType">
+            The execution type for the command.  This is used to determine which method
+            of the command object to call, which then determines the type of results
+            returned, if any.
+            </param>
+            <param name="commandBehavior">
+            The command behavior flags for the command.
+            </param>
+            <param name="connectionString">
+            The connection string to the database to be opened, used, and closed.  If
+            this parameter is null, a temporary in-memory databse will be used.
+            </param>
+            <param name="args">
+            The SQL parameter values to be used when building the command object to be
+            executed, if any.
+            </param>
+            <returns>
+            The results of the query -OR- null if no results were produced from the
+            given execution type.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)">
+            <summary>
+            Overrides the default behavior to return a SQLiteDataReader specialization class
+            </summary>
+            <param name="behavior">The flags to be associated with the reader.</param>
+            <returns>A SQLiteDataReader</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteReader">
+            <summary>
+            Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
+            </summary>
+            <returns>A SQLiteDataReader</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ResetDataReader">
+            <summary>
+            Called by the SQLiteDataReader when the data reader is closed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery">
+            <summary>
+            Execute the command and return the number of rows inserted/updated affected by it.
+            </summary>
+            <returns>The number of rows inserted/updated affected by it.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)">
+            <summary>
+            Execute the command and return the number of rows inserted/updated affected by it.
+            </summary>
+            <param name="behavior">The flags to be associated with the reader.</param>
+            <returns>The number of rows inserted/updated affected by it.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar">
+            <summary>
+            Execute the command and return the first column of the first row of the resultset
+            (if present), or null if no resultset was returned.
+            </summary>
+            <returns>The first column of the first row of the first resultset from the query.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)">
+            <summary>
+            Execute the command and return the first column of the first row of the resultset
+            (if present), or null if no resultset was returned.
+            </summary>
+            <param name="behavior">The flags to be associated with the reader.</param>
+            <returns>The first column of the first row of the first resultset from the query.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Reset">
+            <summary>
+            This method resets all the prepared statements held by this instance
+            back to their initial states, ready to be re-executed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Reset(System.Boolean,System.Boolean)">
+            <summary>
+            This method resets all the prepared statements held by this instance
+            back to their initial states, ready to be re-executed.
+            </summary>
+            <param name="clearBindings">
+            Non-zero if the parameter bindings should be cleared as well.
+            </param>
+            <param name="ignoreErrors">
+            If this is zero, a <see cref="T:system.Data.SQLite.SQLiteException"/> may be thrown for
+            any unsuccessful return codes from the native library; otherwise, a
+            <see cref="T:system.Data.SQLite.SQLiteException"/> will only be thrown if the connection
+            or its state is invalid.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Prepare">
+            <summary>
+            Does nothing.  Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommand.Clone">
+            <summary>
+            Clones a command, including all its parameters
+            </summary>
+            <returns>A new SQLiteCommand with the same commandtext, connection and parameters</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.CommandText">
+            <summary>
+            The SQL command text associated with the command
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.CommandTimeout">
+            <summary>
+            The amount of time to wait for the connection to become available before erroring out
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.CommandType">
+            <summary>
+            The type of the command.  SQLite only supports CommandType.Text
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.Connection">
+            <summary>
+            The connection associated with this command
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.DbConnection">
+            <summary>
+            Forwards to the local Connection property
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.Parameters">
+            <summary>
+            Returns the SQLiteParameterCollection for the given command
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.DbParameterCollection">
+            <summary>
+            Forwards to the local Parameters property
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.Transaction">
+            <summary>
+            The transaction associated with this command.  SQLite only supports one transaction per connection, so this property forwards to the
+            command's underlying connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.DbTransaction">
+            <summary>
+            Forwards to the local Transaction property
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.UpdatedRowSource">
+            <summary>
+            Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommand.DesignTimeVisible">
+            <summary>
+            Determines if the command is visible at design time.  Defaults to True.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteCommandBuilder">
+            <summary>
+            SQLite implementation of DbCommandBuilder.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.#ctor(System.Data.SQLite.SQLiteDataAdapter)">
+            <summary>
+            Initializes the command builder and associates it with the specified data adapter.
+            </summary>
+            <param name="adp"></param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.Dispose(System.Boolean)">
+            <summary>
+            Cleans up resources (native and managed) associated with the current instance.
+            </summary>
+            <param name="disposing">
+            Zero when being disposed via garbage collection; otherwise, non-zero.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
+            <summary>
+            Minimal amount of parameter processing.  Primarily sets the DbType for the parameter equal to the provider type in the schema
+            </summary>
+            <param name="parameter">The parameter to use in applying custom behaviors to a row</param>
+            <param name="row">The row to apply the parameter to</param>
+            <param name="statementType">The type of statement</param>
+            <param name="whereClause">Whether the application of the parameter is part of a WHERE clause</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.String)">
+            <summary>
+            Returns a valid named parameter
+            </summary>
+            <param name="parameterName">The name of the parameter</param>
+            <returns>Error</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterName(System.Int32)">
+            <summary>
+            Returns a named parameter for the given ordinal
+            </summary>
+            <param name="parameterOrdinal">The i of the parameter</param>
+            <returns>Error</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetParameterPlaceholder(System.Int32)">
+            <summary>
+            Returns a placeholder character for the specified parameter i.
+            </summary>
+            <param name="parameterOrdinal">The index of the parameter to provide a placeholder for</param>
+            <returns>Returns a named parameter</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
+            <summary>
+            Sets the handler for receiving row updating events.  Used by the DbCommandBuilder to autogenerate SQL
+            statements that may not have previously been generated.
+            </summary>
+            <param name="adapter">A data adapter to receive events on.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand">
+            <summary>
+            Returns the automatically-generated SQLite command to delete rows from the database
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetDeleteCommand(System.Boolean)">
+            <summary>
+            Returns the automatically-generated SQLite command to delete rows from the database
+            </summary>
+            <param name="useColumnsForParameterNames"></param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand">
+            <summary>
+            Returns the automatically-generated SQLite command to update rows in the database
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetUpdateCommand(System.Boolean)">
+            <summary>
+            Returns the automatically-generated SQLite command to update rows in the database
+            </summary>
+            <param name="useColumnsForParameterNames"></param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand">
+            <summary>
+            Returns the automatically-generated SQLite command to insert rows into the database
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetInsertCommand(System.Boolean)">
+            <summary>
+            Returns the automatically-generated SQLite command to insert rows into the database
+            </summary>
+            <param name="useColumnsForParameterNames"></param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.QuoteIdentifier(System.String)">
+            <summary>
+            Places brackets around an identifier
+            </summary>
+            <param name="unquotedIdentifier">The identifier to quote</param>
+            <returns>The bracketed identifier</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.UnquoteIdentifier(System.String)">
+            <summary>
+            Removes brackets around an identifier
+            </summary>
+            <param name="quotedIdentifier">The quoted (bracketed) identifier</param>
+            <returns>The undecorated identifier</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteCommandBuilder.GetSchemaTable(System.Data.Common.DbCommand)">
+            <summary>
+            Override helper, which can help the base command builder choose the right keys for the given query
+            </summary>
+            <param name="sourceCommand"></param>
+            <returns></returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommandBuilder.DataAdapter">
+            <summary>
+            Gets/sets the DataAdapter for this CommandBuilder
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogLocation">
+            <summary>
+            Overridden to hide its property from the designer
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommandBuilder.CatalogSeparator">
+            <summary>
+            Overridden to hide its property from the designer
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuotePrefix">
+            <summary>
+            Overridden to hide its property from the designer
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommandBuilder.QuoteSuffix">
+            <summary>
+            Overridden to hide its property from the designer
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteCommandBuilder.SchemaSeparator">
+            <summary>
+            Overridden to hide its property from the designer
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.ConnectionEventArgs">
+            <summary>
+            Event data for connection event handlers.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.EventType">
+            <summary>
+            The type of event being raised.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.EventArgs">
+            <summary>
+            The <see cref="T:System.Data.StateChangeEventArgs"/> associated with this event, if any.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.Transaction">
+            <summary>
+            The transaction associated with this event, if any.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.Command">
+            <summary>
+            The command associated with this event, if any.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.DataReader">
+            <summary>
+            The data reader associated with this event, if any.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.CriticalHandle">
+            <summary>
+            The critical handle associated with this event, if any.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.Text">
+            <summary>
+            Command or message text associated with this event, if any.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ConnectionEventArgs.Data">
+            <summary>
+            Extra data associated with this event, if any.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ConnectionEventArgs.#ctor(System.Data.SQLite.SQLiteConnectionEventType,System.Data.StateChangeEventArgs,System.Data.IDbTransaction,System.Data.IDbCommand,System.Data.IDataReader,System.Runtime.InteropServices.CriticalHandle,System.String,System.Object)">
+            <summary>
+            Constructs the object.
+            </summary>
+            <param name="eventType">The type of event being raised.</param>
+            <param name="eventArgs">The base <see cref="F:system.Data.SQLite.ConnectionEventArgs.EventArgs"/> associated
+            with this event, if any.</param>
+            <param name="transaction">The transaction associated with this event, if any.</param>
+            <param name="command">The command associated with this event, if any.</param>
+            <param name="dataReader">The data reader associated with this event, if any.</param>
+            <param name="criticalHandle">The critical handle associated with this event, if any.</param>
+            <param name="text">The command or message text, if any.</param>
+            <param name="data">The extra data, if any.</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnectionEventHandler">
+            <summary>
+            Raised when an event pertaining to a connection occurs.
+            </summary>
+            <param name="sender">The connection involved.</param>
+            <param name="e">Extra information about the event.</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnection">
+            <summary>
+            SQLite implentation of DbConnection.
+            </summary>
+            <remarks>
+            The <see cref="P:system.Data.SQLite.SQLiteConnection.ConnectionString"/> property can contain the following parameter(s), delimited with a semi-colon:
+            <list type="table">
+            <listheader>
+            <term>Parameter</term>
+            <term>Values</term>
+            <term>Required</term>
+            <term>Default</term>
+            </listheader>
+            <item>
+            <description>Data Source</description>
+            <description>
+            This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).
+            Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a
+            UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db"
+            would become "\\\\Network\Share\test.db").
+            </description>
+            <description>Y</description>
+            <description></description>
+            </item>
+            <item>
+            <description>Uri</description>
+            <description>
+            If specified, this must be a file name that starts with "file://", "file:", or "/".  Any leading
+            "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open
+            the database.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>FullUri</description>
+            <description>
+            If specified, this must be a URI in a format recognized by the SQLite core library (starting with
+            SQLite 3.7.7).  It will be passed verbatim to the SQLite core library.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>Version</description>
+            <description>3</description>
+            <description>N</description>
+            <description>3</description>
+            </item>
+            <item>
+            <description>UseUTF16Encoding</description>
+            <description>
+            <b>True</b> - The UTF-16 encoding should be used.
+            <br/>
+            <b>False</b> - The UTF-8 encoding should be used.
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>DefaultDbType</description>
+            <description>
+            This is the default <see cref="T:System.Data.DbType"/> to use when one cannot be determined based on the
+            column metadata and the configured type mappings.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>DefaultTypeName</description>
+            <description>
+            This is the default type name to use when one cannot be determined based on the column metadata
+            and the configured type mappings.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>NoDefaultFlags</description>
+            <description>
+            <b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
+            <see cref="P:system.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
+            <br/>
+            <b>False</b> - Combine the specified (or existing) connection flags with the value of the
+            <see cref="P:system.Data.SQLite.SQLiteConnection.DefaultFlags"/> property.
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>NoSharedFlags</description>
+            <description>
+            <b>True</b> - Do not combine the specified (or existing) connection flags with the value of the
+            <see cref="P:system.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
+            <br/>
+            <b>False</b> - Combine the specified (or existing) connection flags with the value of the
+            <see cref="P:system.Data.SQLite.SQLiteConnection.SharedFlags"/> property.
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>VfsName</description>
+            <description>
+            The name of the VFS to use when opening the database connection.
+            If this is not specified, the default VFS will be used.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>ZipVfsVersion</description>
+            <description>
+            If non-null, this is the "version" of ZipVFS to use.  This requires
+            the System.Data.SQLite interop assembly -AND- primary managed assembly
+            to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
+            property does nothing.  The valid values are "v2" and "v3".  Using
+            anyother value will cause an exception to be thrown.  Please see the
+            ZipVFS documentation for more information on how to use this parameter.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>DateTimeFormat</description>
+            <description>
+            <b>Ticks</b> - Use the value of DateTime.Ticks.<br/>
+            <b>ISO8601</b> - Use the ISO-8601 format.  Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
+            DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/>
+            <b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/>
+            <b>UnixEpoch</b> - The whole number of seconds since the Unix epoch (January 1, 1970).<br/>
+            <b>InvariantCulture</b> - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.<br/>
+            <b>CurrentCulture</b> - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.</description>
+            <description>N</description>
+            <description>ISO8601</description>
+            </item>
+            <item>
+            <description>DateTimeKind</description>
+            <description>
+            <b>Unspecified</b> - Not specified as either UTC or local time.
+            <br/>
+            <b>Utc</b> - The time represented is UTC.
+            <br/>
+            <b>Local</b> - The time represented is local time.
+            </description>
+            <description>N</description>
+            <description>Unspecified</description>
+            </item>
+            <item>
+            <description>DateTimeFormatString</description>
+            <description>
+            The exact DateTime format string to use for all formatting and parsing of all DateTime
+            values for this connection.
+            </description>
+            <description>N</description>
+            <description>null</description>
+            </item>
+            <item>
+            <description>BaseSchemaName</description>
+            <description>
+            Some base data classes in the framework (e.g. those that build SQL queries dynamically)
+            assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
+            alternate schemas as well; however, SQLite does not fit into this model.  Therefore, this value is used
+            as a placeholder and removed prior to preparing any SQL statements that may contain it.
+            </description>
+            <description>N</description>
+            <description>sqlite_default_schema</description>
+            </item>
+            <item>
+            <description>BinaryGUID</description>
+            <description>
+            <b>True</b> - Store GUID columns in binary form
+            <br/>
+            <b>False</b> - Store GUID columns as text
+            </description>
+            <description>N</description>
+            <description>True</description>
+            </item>
+            <item>
+            <description>Cache Size</description>
+            <description>
+            If the argument N is positive then the suggested cache size is set to N.
+            If the argument N is negative, then the number of cache pages is adjusted
+            to use approximately abs(N*1024) bytes of memory. Backwards compatibility
+            note: The behavior of cache_size with a negative N was different in SQLite
+            versions prior to 3.7.10. In version 3.7.9 and earlier, the number of
+            pages in the cache was set to the absolute value of N.
+            </description>
+            <description>N</description>
+            <description>2000</description>
+            </item>
+            <item>
+            <description>Synchronous</description>
+            <description>
+            <b>Normal</b> - Normal file flushing behavior
+            <br/>
+            <b>Full</b> - Full flushing after all writes
+            <br/>
+            <b>Off</b> - Underlying OS flushes I/O's
+            </description>
+            <description>N</description>
+            <description>Full</description>
+            </item>
+            <item>
+            <description>Page Size</description>
+            <description>{size in bytes}</description>
+            <description>N</description>
+            <description>1024</description>
+            </item>
+            <item>
+            <description>Password</description>
+            <description>
+            {password} - Using this parameter requires that the CryptoAPI based codec
+            be enabled at compile-time for both the native interop assembly and the
+            core managed assemblies; otherwise, using this parameter may result in an
+            exception being thrown when attempting to open the connection.
+            </description>
+            <description>N</description>
+            <description></description>
+            </item>
+            <item>
+            <description>HexPassword</description>
+            <description>
+            {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded
+            byte values without a leading "0x" prefix.  Using this parameter requires
+            that the CryptoAPI based codec be enabled at compile-time for both the native
+            interop assembly and the core managed assemblies; otherwise, using this
+            parameter may result in an exception being thrown when attempting to open
+            the connection.
+            </description>
+            <description>N</description>
+            <description></description>
+            </item>
+            <item>
+            <description>Enlist</description>
+            <description>
+            <b>Y</b> - Automatically enlist in distributed transactions
+            <br/>
+            <b>N</b> - No automatic enlistment
+            </description>
+            <description>N</description>
+            <description>Y</description>
+            </item>
+            <item>
+            <description>Pooling</description>
+            <description>
+            <b>True</b> - Use connection pooling.<br/>
+            <b>False</b> - Do not use connection pooling.<br/><br/>
+            <b>WARNING:</b> When using the default connection pool implementation,
+            setting this property to True should be avoided by applications that make
+            use of COM (either directly or indirectly) due to possible deadlocks that
+            can occur during the finalization of some COM objects.
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>FailIfMissing</description>
+            <description>
+            <b>True</b> - Don't create the database if it does not exist, throw an error instead
+            <br/>
+            <b>False</b> - Automatically create the database if it does not exist
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>Max Page Count</description>
+            <description>{size in pages} - Limits the maximum number of pages (limits the size) of the database</description>
+            <description>N</description>
+            <description>0</description>
+            </item>
+            <item>
+            <description>Legacy Format</description>
+            <description>
+            <b>True</b> - Use the more compatible legacy 3.x database format
+            <br/>
+            <b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>Default Timeout</description>
+            <description>{time in seconds}<br/>The default command timeout</description>
+            <description>N</description>
+            <description>30</description>
+            </item>
+            <item>
+            <description>BusyTimeout</description>
+            <description>{time in milliseconds}<br/>Sets the busy timeout for the core library.</description>
+            <description>N</description>
+            <description>0</description>
+            </item>
+            <item>
+            <description>Journal Mode</description>
+            <description>
+            <b>Delete</b> - Delete the journal file after a commit.
+            <br/>
+            <b>Persist</b> - Zero out and leave the journal file on disk after a
+            commit.
+            <br/>
+            <b>Off</b> - Disable the rollback journal entirely.  This saves disk I/O
+            but at the expense of database safety and integrity.  If the application
+            using SQLite crashes in the middle of a transaction when this journaling
+            mode is set, then the database file will very likely go corrupt.
+            <br/>
+            <b>Truncate</b> - Truncate the journal file to zero-length instead of
+            deleting it.
+            <br/>
+            <b>Memory</b> - Store the journal in volatile RAM.  This saves disk I/O
+            but at the expense of database safety and integrity.  If the application
+            using SQLite crashes in the middle of a transaction when this journaling
+            mode is set, then the database file will very likely go corrupt.
+            <br/>
+            <b>Wal</b> - Use a write-ahead log instead of a rollback journal.
+            </description>
+            <description>N</description>
+            <description>Delete</description>
+            </item>
+            <item>
+            <description>Read Only</description>
+            <description>
+            <b>True</b> - Open the database for read only access
+            <br/>
+            <b>False</b> - Open the database for normal read/write access
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>Max Pool Size</description>
+            <description>The maximum number of connections for the given connection string that can be in the connection pool</description>
+            <description>N</description>
+            <description>100</description>
+            </item>
+            <item>
+            <description>Default IsolationLevel</description>
+            <description>The default transaciton isolation level</description>
+            <description>N</description>
+            <description>Serializable</description>
+            </item>
+            <item>
+            <description>Foreign Keys</description>
+            <description>Enable foreign key constraints</description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            <item>
+            <description>Flags</description>
+            <description>Extra behavioral flags for the connection.  See the <see cref="T:system.Data.SQLite.SQLiteConnectionFlags"/> enumeration for possible values.</description>
+            <description>N</description>
+            <description>Default</description>
+            </item>
+            <item>
+            <description>SetDefaults</description>
+            <description>
+            <b>True</b> - Apply the default connection settings to the opened database.<br/>
+            <b>False</b> - Skip applying the default connection settings to the opened database.
+            </description>
+            <description>N</description>
+            <description>True</description>
+            </item>
+            <item>
+            <description>ToFullPath</description>
+            <description>
+            <b>True</b> - Attempt to expand the data source file name to a fully qualified path before opening.
+            <br/>
+            <b>False</b> - Skip attempting to expand the data source file name to a fully qualified path before opening.
+            </description>
+            <description>N</description>
+            <description>True</description>
+            </item>
+            <item>
+            <description>PrepareRetries</description>
+            <description>
+            The maximum number of retries when preparing SQL to be executed.  This
+            normally only applies to preparation errors resulting from the database
+            schema being changed.
+            </description>
+            <description>N</description>
+            <description>3</description>
+            </item>
+            <item>
+            <description>ProgressOps</description>
+            <description>
+            The approximate number of virtual machine instructions between progress
+            events.  In order for progress events to actually fire, the event handler
+            must be added to the <see cref="E:system.Data.SQLite.SQLiteConnection.Progress"/> event as well.
+            </description>
+            <description>N</description>
+            <description>0</description>
+            </item>
+            <item>
+            <description>Recursive Triggers</description>
+            <description>
+            <b>True</b> - Enable the recursive trigger capability.
+            <b>False</b> - Disable the recursive trigger capability.
+            </description>
+            <description>N</description>
+            <description>False</description>
+            </item>
+            </list>
+            </remarks>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection.BadDbType">
+            <summary>
+            The "invalid value" for the <see cref="T:System.Data.DbType"/> enumeration used
+            by the <see cref="P:system.Data.SQLite.SQLiteConnection.DefaultDbType"/> property.  This constant is shared
+            by this class and the SQLiteConnectionStringBuilder class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection.DefaultBaseSchemaName">
+            <summary>
+            The default "stub" (i.e. placeholder) base schema name to use when
+            returning column schema information.  Used as the initial value of
+            the BaseSchemaName property.  This should start with "sqlite_*"
+            because those names are reserved for use by SQLite (i.e. they cannot
+            be confused with the names of user objects).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._assembly">
+            <summary>
+            The managed assembly containing this type.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._syncRoot">
+            <summary>
+            Object used to synchronize access to the static instance data
+            for this class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._sharedFlags">
+            <summary>
+            The extra connection flags to be used for all opened connections.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
+            <summary>
+            State of the current connection
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._connectionString">
+            <summary>
+            The connection string
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
+            <summary>
+            Nesting level of the transactions open on the connection
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._noDispose">
+            <summary>
+            If this flag is non-zero, the <see cref="M:system.Data.SQLite.SQLiteConnection.Dispose"/> method will have
+            no effect; however, the <see cref="M:system.Data.SQLite.SQLiteConnection.Close"/> method will continue to
+            behave as normal.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._disposing">
+            <summary>
+            If set, then the connection is currently being disposed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
+            <summary>
+            The default isolation level for new transactions
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._enlistment">
+            <summary>
+            Whether or not the connection is enlisted in a distrubuted transaction
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._typeNames">
+            <summary>
+            The per-connection mappings between type names and <see cref="T:System.Data.DbType"/>
+            values.  These mappings override the corresponding global mappings.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._sql">
+            <summary>
+            The base SQLite object to interop with
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._dataSource">
+            <summary>
+            The database filename minus path and extension
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._password">
+            <summary>
+            Temporary password storage, emptied after the database has been opened
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._baseSchemaName">
+            <summary>
+            The "stub" (i.e. placeholder) base schema name to use when returning
+            column schema information.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._flags">
+            <summary>
+            The extra behavioral flags for this connection, if any.  See the
+            <see cref="T:system.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
+            possible values.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._cachedSettings">
+            <summary>
+            The cached values for all settings that have been fetched on behalf
+            of this connection.  This cache may be cleared by calling the
+            <see cref="M:system.Data.SQLite.SQLiteConnection.ClearCachedSettings"/> method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._defaultDbType">
+            <summary>
+            The default databse type for this connection.  This value will only
+            be used if the <see cref="F:system.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
+            flag is set.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._defaultTypeName">
+            <summary>
+            The default databse type name for this connection.  This value will only
+            be used if the <see cref="F:system.Data.SQLite.SQLiteConnectionFlags.UseConnectionTypes"/>
+            flag is set.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._vfsName">
+            <summary>
+            The name of the VFS to be used when opening the database connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._defaultTimeout">
+            <summary>
+            Default command timeout
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._busyTimeout">
+            <summary>
+            The default busy timeout to use with the SQLite core library.  This is
+            only used when opening a connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._prepareRetries">
+            <summary>
+            The maximum number of retries when preparing SQL to be executed.  This
+            normally only applies to preparation errors resulting from the database
+            schema being changed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._progressOps">
+            <summary>
+            The approximate number of virtual machine instructions between progress
+            events.  In order for progress events to actually fire, the event handler
+            must be added to the <see cref="E:system.Data.SQLite.SQLiteConnection.Progress"/> event as
+            well.  This value will only be used when opening the database.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnection._parseViaFramework">
+            <summary>
+            Non-zero if the built-in (i.e. framework provided) connection string
+            parser should be used when opening the connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.#ctor">
+            <overloads>
+             Constructs a new SQLiteConnection object
+             </overloads>
+             <summary>
+             Default constructor
+             </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String)">
+            <summary>
+            Initializes the connection with the specified connection string.
+            </summary>
+            <param name="connectionString">The connection string to use.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.IntPtr,System.String,System.Boolean)">
+            <summary>
+            Initializes the connection with a pre-existing native connection handle.
+            This constructor overload is intended to be used only by the private
+            <see cref="M:system.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="db">
+            The native connection handle to use.
+            </param>
+            <param name="fileName">
+            The file name corresponding to the native connection handle.
+            </param>
+            <param name="ownHandle">
+            Non-zero if this instance owns the native connection handle and
+            should dispose of it when it is no longer needed.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.String,System.Boolean)">
+            <summary>
+            Initializes the connection with the specified connection string.
+            </summary>
+            <param name="connectionString">
+            The connection string to use.
+            </param>
+            <param name="parseViaFramework">
+            Non-zero to parse the connection string using the built-in (i.e.
+            framework provided) parser when opening the connection.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.#ctor(System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Clones the settings and connection string from an existing connection.  If the existing connection is already open, this
+            function will open its own connection, enumerate any attached databases of the original connection, and automatically
+            attach to them.
+            </summary>
+            <param name="connection">The connection to copy the settings from.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.OnChanged(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.ConnectionEventArgs)">
+            <summary>
+            Raises the <see cref="E:system.Data.SQLite.SQLiteConnection.Changed"/> event.
+            </summary>
+            <param name="connection">
+            The connection associated with this event.  If this parameter is not
+            null and the specified connection cannot raise events, then the
+            registered event handlers will not be invoked.
+            </param>
+            <param name="e">
+            A <see cref="T:system.Data.SQLite.ConnectionEventArgs"/> that contains the event data.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.CreateHandle(System.IntPtr)">
+            <summary>
+            Creates and returns a new managed database connection handle.  This
+            method is intended to be used by implementations of the
+            <see cref="T:system.Data.SQLite.ISQLiteConnectionPool"/> interface only.  In theory, it
+            could be used by other classes; however, that usage is not supported.
+            </summary>
+            <param name="nativeHandle">
+            This must be a native database connection handle returned by the
+            SQLite core library and it must remain valid and open during the
+            entire duration of the calling method.
+            </param>
+            <returns>
+            The new managed database connection handle or null if it cannot be
+            created.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BackupDatabase(System.Data.SQLite.SQLiteConnection,System.String,System.String,System.Int32,System.Data.SQLite.SQLiteBackupCallback,System.Int32)">
+            <summary>
+            Backs up the database, using the specified database connection as the
+            destination.
+            </summary>
+            <param name="destination">The destination database connection.</param>
+            <param name="destinationName">The destination database name.</param>
+            <param name="sourceName">The source database name.</param>
+            <param name="pages">
+            The number of pages to copy or negative to copy all remaining pages.
+            </param>
+            <param name="callback">
+            The method to invoke between each step of the backup process.  This
+            parameter may be null (i.e. no callbacks will be performed).
+            </param>
+            <param name="retryMilliseconds">
+            The number of milliseconds to sleep after encountering a locking error
+            during the backup process.  A value less than zero means that no sleep
+            should be performed.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ClearCachedSettings">
+            <summary>
+            Clears the per-connection cached settings.
+            </summary>
+            <returns>
+            The total number of per-connection settings cleared.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.TryGetCachedSetting(System.String,System.String,System.Object@)">
+            <summary>
+            Queries and returns the value of the specified setting, using the
+            cached setting names and values for this connection, when available.
+            </summary>
+            <param name="name">
+            The name of the setting.
+            </param>
+            <param name="default">
+            The value to be returned if the setting has not been set explicitly
+            or cannot be determined.
+            </param>
+            <param name="value">
+            The value of the cached setting is stored here if found; otherwise,
+            the value of <paramref name="default" /> is stored here.
+            </param>
+            <returns>
+            Non-zero if the cached setting was found; otherwise, zero.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetCachedSetting(System.String,System.Object)">
+            <summary>
+            Adds or sets the cached setting specified by <paramref name="name" />
+            to the value specified by <paramref name="value" />.
+            </summary>
+            <param name="name">
+            The name of the cached setting to add or replace.
+            </param>
+            <param name="value">
+            The new value of the cached setting.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ClearTypeMappings">
+            <summary>
+            Clears the per-connection type mappings.
+            </summary>
+            <returns>
+            The total number of per-connection type mappings cleared.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetTypeMappings">
+            <summary>
+            Returns the per-connection type mappings.
+            </summary>
+            <returns>
+            The per-connection type mappings -OR- null if they are unavailable.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.AddTypeMapping(System.String,System.Data.DbType,System.Boolean)">
+            <summary>
+            Adds a per-connection type mapping, possibly replacing one or more
+            that already exist.
+            </summary>
+            <param name="typeName">
+            The case-insensitive database type name (e.g. "MYDATE").  The value
+            of this parameter cannot be null.  Using an empty string value (or
+            a string value consisting entirely of whitespace) for this parameter
+            is not recommended.
+            </param>
+            <param name="dataType">
+            The <see cref="T:System.Data.DbType"/> value that should be associated with the
+            specified type name.
+            </param>
+            <param name="primary">
+            Non-zero if this mapping should be considered to be the primary one
+            for the specified <see cref="T:System.Data.DbType"/>.
+            </param>
+            <returns>
+            A negative value if nothing was done.  Zero if no per-connection type
+            mappings were replaced (i.e. it was a pure add operation).  More than
+            zero if some per-connection type mappings were replaced.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction)">
+            <summary>
+            Attempts to bind the specified <see cref="T:system.Data.SQLite.SQLiteFunction"/> object
+            instance to this connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be bound.
+            </param>
+            <param name="function">
+            The <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance that implements the
+            function to be bound.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BindFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Delegate,System.Delegate)">
+            <summary>
+            Attempts to bind the specified <see cref="T:system.Data.SQLite.SQLiteFunction"/> object
+            instance to this connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be bound.
+            </param>
+            <param name="callback1">
+            A <see cref="T:System.Delegate"/> object instance that helps implement the
+            function to be bound.  For scalar functions, this corresponds to the
+            <see cref="T:system.Data.SQLite.SQLiteInvokeDelegate"/> type.  For aggregate functions,
+            this corresponds to the <see cref="T:system.Data.SQLite.SQLiteStepDelegate"/> type.  For
+            collation functions, this corresponds to the
+            <see cref="T:system.Data.SQLite.SQLiteCompareDelegate"/> type.
+            </param>
+            <param name="callback2">
+            A <see cref="T:System.Delegate"/> object instance that helps implement the
+            function to be bound.  For aggregate functions, this corresponds to the
+            <see cref="T:system.Data.SQLite.SQLiteFinalDelegate"/> type.  For other callback types, it
+            is not used and must be null.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.UnbindFunction(System.Data.SQLite.SQLiteFunctionAttribute)">
+            <summary>
+            Attempts to unbind the specified <see cref="T:system.Data.SQLite.SQLiteFunction"/> object
+            instance to this connection.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be unbound.
+            </param>
+            <returns>Non-zero if the function was unbound.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.UnbindAllFunctions(System.Boolean)">
+            <summary>
+            This method unbinds all registered (known) functions -OR- all previously
+            bound user-defined functions from this connection.
+            </summary>
+            <param name="registered">
+            Non-zero to unbind all registered (known) functions -OR- zero to unbind
+            all functions currently bound to the connection.
+            </param>
+            <returns>
+            Non-zero if all the specified user-defined functions were unbound.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean,System.Boolean)">
+            <summary>
+            Parses a connection string into component parts using the custom
+            connection string parser.  An exception may be thrown if the syntax
+            of the connection string is incorrect.
+            </summary>
+            <param name="connectionString">
+            The connection string to parse.
+            </param>
+            <param name="parseViaFramework">
+            Non-zero to parse the connection string using the algorithm provided
+            by the framework itself.  This is not applicable when running on the
+            .NET Compact Framework.
+            </param>
+            <param name="allowNameOnly">
+            Non-zero if names are allowed without values.
+            </param>
+            <returns>
+            The list of key/value pairs corresponding to the parameters specified
+            within the connection string.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Dispose">
+            <summary>
+            Disposes and finalizes the connection, if applicable.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Dispose(System.Boolean)">
+            <summary>
+            Cleans up resources (native and managed) associated with the current instance.
+            </summary>
+            <param name="disposing">
+            Zero when being disposed via garbage collection; otherwise, non-zero.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Clone">
+            <summary>
+            Creates a clone of the connection.  All attached databases and user-defined functions are cloned.  If the existing connection is open, the cloned connection
+            will also be opened.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.CreateFile(System.String)">
+            <summary>
+            Creates a database file.  This just creates a zero-byte file which SQLite
+            will turn into a database when the file is opened properly.
+            </summary>
+            <param name="databaseFileName">The file to create</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.OnStateChange(System.Data.ConnectionState,System.Data.StateChangeEventArgs@)">
+            <summary>
+            Raises the state change event when the state of the connection changes
+            </summary>
+            <param name="newState">The new connection state.  If this is different
+            from the previous state, the <see cref="E:system.Data.SQLite.SQLiteConnection.StateChange"/> event is
+            raised.</param>
+            <param name="eventArgs">The event data created for the raised event, if
+            it was actually raised.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetFallbackDefaultIsolationLevel">
+            <summary>
+            Determines and returns the fallback default isolation level when one cannot be
+            obtained from an existing connection instance.
+            </summary>
+            <returns>
+            The fallback default isolation level for this connection instance -OR-
+            <see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultIsolationLevel">
+            <summary>
+            Determines and returns the default isolation level for this connection instance.
+            </summary>
+            <returns>
+            The default isolation level for this connection instance -OR-
+            <see cref="F:System.Data.IsolationLevel.Unspecified"/> if it cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
+            <summary>
+            OBSOLETE.  Creates a new SQLiteTransaction if one isn't already active on the connection.
+            </summary>
+            <param name="isolationLevel">This parameter is ignored.</param>
+            <param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
+            When FALSE, a writelock is obtained immediately.  The default is TRUE, but in a multi-threaded multi-writer
+            environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
+            <returns>Returns a SQLiteTransaction object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
+            <summary>
+            OBSOLETE.  Creates a new SQLiteTransaction if one isn't already active on the connection.
+            </summary>
+            <param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
+            When FALSE, a writelock is obtained immediately.  The default is false, but in a multi-threaded multi-writer
+            environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
+            <returns>Returns a SQLiteTransaction object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Creates a new <see cref="T:system.Data.SQLite.SQLiteTransaction"/> if one isn't already active on the connection.
+            </summary>
+            <param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
+            <remarks>
+            Unspecified will use the default isolation level specified in the connection string.  If no isolation level is specified in the
+            connection string, Serializable is used.
+            Serializable transactions are the default.  In this mode, the engine gets an immediate lock on the database, and no other threads
+            may begin a transaction.  Other threads may read from the database, but not write.
+            With a ReadCommitted isolation level, locks are deferred and elevated as needed.  It is possible for multiple threads to start
+            a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
+            has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
+            </remarks>
+            <returns>Returns a SQLiteTransaction object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
+            <summary>
+            Creates a new <see cref="T:system.Data.SQLite.SQLiteTransaction"/> if one isn't already
+            active on the connection.
+            </summary>
+            <returns>Returns the new transaction object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
+            <summary>
+            Forwards to the local <see cref="M:system.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)"/> function
+            </summary>
+            <param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
+            <summary>
+            This method is not implemented; however, the <see cref="E:system.Data.SQLite.SQLiteConnection.Changed"/>
+            event will still be raised.
+            </summary>
+            <param name="databaseName"></param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Close">
+            <summary>
+            When the database connection is closed, all commands linked to this connection are automatically reset.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Clears the connection pool associated with the connection.  Any other active connections using the same database file
+            will be discarded instead of returned to the pool when they are closed.
+            </summary>
+            <param name="connection"></param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
+            <summary>
+            Clears all connection pools.  Any active connections will be discarded instead of sent to the pool when they are closed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
+            <summary>
+            Create a new <see cref="T:system.Data.SQLite.SQLiteCommand"/> and associate it with this connection.
+            </summary>
+            <returns>Returns a new command object already assigned to this connection.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
+            <summary>
+            Forwards to the local <see cref="M:system.Data.SQLite.SQLiteConnection.CreateCommand"/> function.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String,System.Boolean)">
+            <summary>
+            Parses a connection string into component parts using the custom
+            connection string parser.  An exception may be thrown if the syntax
+            of the connection string is incorrect.
+            </summary>
+            <param name="connectionString">
+            The connection string to parse.
+            </param>
+            <param name="allowNameOnly">
+            Non-zero if names are allowed without values.
+            </param>
+            <returns>
+            The list of key/value pairs corresponding to the parameters specified
+            within the connection string.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionStringViaFramework(System.String,System.Boolean)">
+            <summary>
+            Parses a connection string using the built-in (i.e. framework provided)
+            connection string parser class and returns the key/value pairs.  An
+            exception may be thrown if the connection string is invalid or cannot be
+            parsed.  When compiled for the .NET Compact Framework, the custom
+            connection string parser is always used instead because the framework
+            provided one is unavailable there.
+            </summary>
+            <param name="connectionString">
+            The connection string to parse.
+            </param>
+            <param name="strict">
+            Non-zero to throw an exception if any connection string values are not of
+            the <see cref="T:System.String"/> type.  This is not applicable when running on
+            the .NET Compact Framework.
+            </param>
+            <returns>The list of key/value pairs.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.EnlistTransaction(System.Transactions.Transaction)">
+            <summary>
+            Manual distributed transaction enlistment support
+            </summary>
+            <param name="transaction">The distributed transaction to enlist in</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.FindKey(System.Collections.Generic.SortedList{System.String,System.String},System.String,System.String)">
+            <summary>
+            Looks for a key in the array of key/values of the parameter string.  If not found, return the specified default value
+            </summary>
+            <param name="items">The list to look in</param>
+            <param name="key">The key to find</param>
+            <param name="defValue">The default value to return if the key is not found</param>
+            <returns>The value corresponding to the specified key, or the default value if not found.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.TryParseEnum(System.Type,System.String,System.Boolean)">
+            <summary>
+            Attempts to convert the string value to an enumerated value of the specified type.
+            </summary>
+            <param name="type">The enumerated type to convert the string value to.</param>
+            <param name="value">The string value to be converted.</param>
+            <param name="ignoreCase">Non-zero to make the conversion case-insensitive.</param>
+            <returns>The enumerated value upon success or null upon error.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.TryParseByte(System.String,System.Globalization.NumberStyles,System.Byte@)">
+            <summary>
+            Attempts to convert an input string into a byte value.
+            </summary>
+            <param name="value">
+            The string value to be converted.
+            </param>
+            <param name="style">
+            The number styles to use for the conversion.
+            </param>
+            <param name="result">
+            Upon sucess, this will contain the parsed byte value.
+            Upon failure, the value of this parameter is undefined.
+            </param>
+            <returns>
+            Non-zero upon success; zero on failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.EnableExtensions(System.Boolean)">
+            <summary>
+            Enables or disabled extension loading.
+            </summary>
+            <param name="enable">
+            True to enable loading of extensions, false to disable.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String)">
+            <summary>
+            Loads a SQLite extension library from the named dynamic link library file.
+            </summary>
+            <param name="fileName">
+            The name of the dynamic link library file containing the extension.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.LoadExtension(System.String,System.String)">
+            <summary>
+            Loads a SQLite extension library from the named dynamic link library file.
+            </summary>
+            <param name="fileName">
+            The name of the dynamic link library file containing the extension.
+            </param>
+            <param name="procName">
+            The name of the exported function used to initialize the extension.
+            If null, the default "sqlite3_extension_init" will be used.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.CreateModule(System.Data.SQLite.SQLiteModule)">
+            <summary>
+            Creates a disposable module containing the implementation of a virtual
+            table.
+            </summary>
+            <param name="module">
+            The module object to be used when creating the disposable module.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String)">
+            <summary>
+            Parses a string containing a sequence of zero or more hexadecimal
+            encoded byte values and returns the resulting byte array.  The
+            "0x" prefix is not allowed on the input string.
+            </summary>
+            <param name="text">
+            The input string containing zero or more hexadecimal encoded byte
+            values.
+            </param>
+            <returns>
+            A byte array containing the parsed byte values or null if an error
+            was encountered.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ToHexString(System.Byte[])">
+            <summary>
+            Creates and returns a string containing the hexadecimal encoded byte
+            values from the input array.
+            </summary>
+            <param name="array">
+            The input array of bytes.
+            </param>
+            <returns>
+            The resulting string or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.FromHexString(System.String,System.String@)">
+            <summary>
+            Parses a string containing a sequence of zero or more hexadecimal
+            encoded byte values and returns the resulting byte array.  The
+            "0x" prefix is not allowed on the input string.
+            </summary>
+            <param name="text">
+            The input string containing zero or more hexadecimal encoded byte
+            values.
+            </param>
+            <param name="error">
+            Upon failure, this will contain an appropriate error message.
+            </param>
+            <returns>
+            A byte array containing the parsed byte values or null if an error
+            was encountered.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetDefaultPooling">
+            <summary>
+            This method figures out what the default connection pool setting should
+            be based on the connection flags.  When present, the "Pooling" connection
+            string property value always overrides the value returned by this method.
+            </summary>
+            <returns>
+            Non-zero if the connection pool should be enabled by default; otherwise,
+            zero.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetEffectiveIsolationLevel(System.Data.IsolationLevel)">
+            <summary>
+            Determines the transaction isolation level that should be used by
+            the caller, primarily based upon the one specified by the caller.
+            If mapping of transaction isolation levels is enabled, the returned
+            transaction isolation level may be significantly different than the
+            originally specified one.
+            </summary>
+            <param name="isolationLevel">
+            The originally specified transaction isolation level.
+            </param>
+            <returns>
+            The transaction isolation level that should be used.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Open">
+            <summary>
+            Opens the connection using the parameters found in the <see cref="P:system.Data.SQLite.SQLiteConnection.ConnectionString"/>.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.OpenAndReturn">
+            <summary>
+            Opens the connection using the parameters found in the <see cref="P:system.Data.SQLite.SQLiteConnection.ConnectionString"/> and then returns it.
+            </summary>
+            <returns>The current connection object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Cancel">
+            <summary>
+            This method causes any pending database operation to abort and return at
+            its earliest opportunity.  This routine is typically called in response
+            to a user action such as pressing "Cancel" or Ctrl-C where the user wants
+            a long query operation to halt immediately.  It is safe to call this
+            routine from any thread.  However, it is not safe to call this routine
+            with a database connection that is closed or might close before this method
+            returns.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetMemoryStatistics(System.Collections.Generic.IDictionary{System.String,System.Int64}@)">
+            <summary>
+            Returns various global memory statistics for the SQLite core library via
+            a dictionary of key/value pairs.  Currently, only the "MemoryUsed" and
+            "MemoryHighwater" keys are returned and they have values that correspond
+            to the values that could be obtained via the <see cref="P:system.Data.SQLite.SQLiteConnection.MemoryUsed"/>
+            and <see cref="P:system.Data.SQLite.SQLiteConnection.MemoryHighwater"/> connection properties.
+            </summary>
+            <param name="statistics">
+            This dictionary will be populated with the global memory statistics.  It
+            will be created if necessary.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory">
+            <summary>
+            Attempts to free as much heap memory as possible for this database connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ReleaseMemory(System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Boolean@,System.UInt32@)">
+            <summary>
+            Attempts to free N bytes of heap memory by deallocating non-essential memory
+            allocations held by the database library. Memory used to cache database pages
+            to improve performance is an example of non-essential memory.  This is a no-op
+            returning zero if the SQLite core library was not compiled with the compile-time
+            option SQLITE_ENABLE_MEMORY_MANAGEMENT.  Optionally, attempts to reset and/or
+            compact the Win32 native heap, if applicable.
+            </summary>
+            <param name="nBytes">
+            The requested number of bytes to free.
+            </param>
+            <param name="reset">
+            Non-zero to attempt a heap reset.
+            </param>
+            <param name="compact">
+            Non-zero to attempt heap compaction.
+            </param>
+            <param name="nFree">
+            The number of bytes actually freed.  This value may be zero.
+            </param>
+            <param name="resetOk">
+            This value will be non-zero if the heap reset was successful.
+            </param>
+            <param name="nLargest">
+            The size of the largest committed free block in the heap, in bytes.
+            This value will be zero unless heap compaction is enabled.
+            </param>
+            <returns>
+            A standard SQLite return code (i.e. zero for success and non-zero
+            for failure).
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetMemoryStatus(System.Boolean)">
+            <summary>
+            Sets the status of the memory usage tracking subsystem in the SQLite core library.  By default, this is enabled.
+            If this is disabled, memory usage tracking will not be performed.  This is not really a per-connection value, it is
+            global to the process.
+            </summary>
+            <param name="value">Non-zero to enable memory usage tracking, zero otherwise.</param>
+            <returns>A standard SQLite return code (i.e. zero for success and non-zero for failure).</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Shutdown">
+            <summary>
+            Passes a shutdown request to the SQLite core library.  Does not throw
+            an exception if the shutdown request fails.
+            </summary>
+            <returns>
+            A standard SQLite return code (i.e. zero for success and non-zero for
+            failure).
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Shutdown(System.Boolean,System.Boolean)">
+            <summary>
+            Passes a shutdown request to the SQLite core library.  Throws an
+            exception if the shutdown request fails and the no-throw parameter
+            is non-zero.
+            </summary>
+            <param name="directories">
+            Non-zero to reset the database and temporary directories to their
+            default values, which should be null for both.
+            </param>
+            <param name="noThrow">
+            When non-zero, throw an exception if the shutdown request fails.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetExtendedResultCodes(System.Boolean)">
+            Enables or disabled extended result codes returned by SQLite
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ResultCode">
+            Enables or disabled extended result codes returned by SQLite
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ExtendedResultCode">
+            Enables or disabled extended result codes returned by SQLite
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            Add a log message via the SQLite sqlite3_log interface.
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.LogMessage(System.Int32,System.String)">
+            Add a log message via the SQLite sqlite3_log interface.
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
+            <summary>
+            Change the password (or assign a password) to an open database.
+            </summary>
+            <remarks>
+            No readers or writers may be active for this process.  The database must already be open
+            and if it already was password protected, the existing password must already have been supplied.
+            </remarks>
+            <param name="newPassword">The new password to assign to the database</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
+            <summary>
+            Change the password (or assign a password) to an open database.
+            </summary>
+            <remarks>
+            No readers or writers may be active for this process.  The database must already be open
+            and if it already was password protected, the existing password must already have been supplied.
+            </remarks>
+            <param name="newPassword">The new password to assign to the database</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
+            <summary>
+            Sets the password for a password-protected database.  A password-protected database is
+            unusable for any operation until the password has been set.
+            </summary>
+            <param name="databasePassword">The password for the database</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
+            <summary>
+            Sets the password for a password-protected database.  A password-protected database is
+            unusable for any operation until the password has been set.
+            </summary>
+            <param name="databasePassword">The password for the database</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetAvRetry(System.Int32@,System.Int32@)">
+            <summary>
+            Queries or modifies the number of retries or the retry interval (in milliseconds) for
+            certain I/O operations that may fail due to anti-virus software.
+            </summary>
+            <param name="count">The number of times to retry the I/O operation.  A negative value
+            will cause the current count to be queried and replace that negative value.</param>
+            <param name="interval">The number of milliseconds to wait before retrying the I/O
+            operation.  This number is multiplied by the number of retry attempts so far to come
+            up with the final number of milliseconds to wait.  A negative value will cause the
+            current interval to be queried and replace that negative value.</param>
+            <returns>Zero for success, non-zero for error.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.SetChunkSize(System.Int32)">
+            <summary>
+            Sets the chunk size for the primary file associated with this database
+            connection.
+            </summary>
+            <param name="size">
+            The new chunk size for the main database, in bytes.
+            </param>
+            <returns>
+            Zero for success, non-zero for error.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.UnwrapString(System.String)">
+            <summary>
+            Removes one set of surrounding single -OR- double quotes from the string
+            value and returns the resulting string value.  If the string is null, empty,
+            or contains quotes that are not balanced, nothing is done and the original
+            string value will be returned.
+            </summary>
+            <param name="value">The string value to process.</param>
+            <returns>
+            The string value, modified to remove one set of surrounding single -OR-
+            double quotes, if applicable.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetDataDirectory">
+            <summary>
+            Determines the directory to be used when dealing with the "|DataDirectory|"
+            macro in a database file name.
+            </summary>
+            <returns>
+            The directory to use in place of the "|DataDirectory|" macro -OR- null if it
+            cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.ExpandFileName(System.String,System.Boolean)">
+            <summary>
+            Expand the filename of the data source, resolving the |DataDirectory|
+            macro as appropriate.
+            </summary>
+            <param name="sourceFile">The database filename to expand</param>
+            <param name="toFullPath">
+            Non-zero if the returned file name should be converted to a full path
+            (except when using the .NET Compact Framework).
+            </param>
+            <returns>The expanded path and filename of the filename</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
+            <overloads>
+             The following commands are used to extract schema information out of the database.  Valid schema types are:
+             <list type="bullet">
+             <item>
+             <description>MetaDataCollections</description>
+             </item>
+             <item>
+             <description>DataSourceInformation</description>
+             </item>
+             <item>
+             <description>Catalogs</description>
+             </item>
+             <item>
+             <description>Columns</description>
+             </item>
+             <item>
+             <description>ForeignKeys</description>
+             </item>
+             <item>
+             <description>Indexes</description>
+             </item>
+             <item>
+             <description>IndexColumns</description>
+             </item>
+             <item>
+             <description>Tables</description>
+             </item>
+             <item>
+             <description>Views</description>
+             </item>
+             <item>
+             <description>ViewColumns</description>
+             </item>
+             </list>
+             </overloads>
+             <summary>
+             Returns the MetaDataCollections schema
+             </summary>
+             <returns>A DataTable of the MetaDataCollections schema</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String)">
+            <summary>
+            Returns schema information of the specified collection
+            </summary>
+            <param name="collectionName">The schema collection to retrieve</param>
+            <returns>A DataTable of the specified collection</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.GetSchema(System.String,System.String[])">
+            <summary>
+            Retrieves schema information using the specified constraint(s) for the specified collection
+            </summary>
+            <param name="collectionName">The collection to retrieve.</param>
+            <param name="restrictionValues">
+            The restrictions to impose.  Typically, this may include:
+            <list type="table">
+            <listheader>
+            <term>restrictionValues element index</term>
+            <term>usage</term>
+            </listheader>
+            <item>
+            <description>0</description>
+            <description>The database (or catalog) name, if applicable.</description>
+            </item>
+            <item>
+            <description>1</description>
+            <description>The schema name.  This is not used by this provider.</description>
+            </item>
+            <item>
+            <description>2</description>
+            <description>The table name, if applicable.</description>
+            </item>
+            <item>
+            <description>3</description>
+            <description>
+            Depends on <paramref name="collectionName" />.
+            When "IndexColumns", it is the index name; otherwise, it is the column name.
+            </description>
+            </item>
+            <item>
+            <description>4</description>
+            <description>
+            Depends on <paramref name="collectionName" />.
+            When "IndexColumns", it is the column name; otherwise, it is not used.
+            </description>
+            </item>
+            </list>
+            </param>
+            <returns>A DataTable of the specified collection</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_MetaDataCollections">
+            <summary>
+            Builds a MetaDataCollections schema datatable
+            </summary>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_DataSourceInformation">
+            <summary>
+            Builds a DataSourceInformation datatable
+            </summary>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_Columns(System.String,System.String,System.String)">
+            <summary>
+            Build a Columns schema
+            </summary>
+            <param name="strCatalog">The catalog (attached database) to query, can be null</param>
+            <param name="strTable">The table to retrieve schema information for, must not be null</param>
+            <param name="strColumn">The column to retrieve schema information for, can be null</param>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_Indexes(System.String,System.String,System.String)">
+            <summary>
+            Returns index information for the given database and catalog
+            </summary>
+            <param name="strCatalog">The catalog (attached database) to query, can be null</param>
+            <param name="strIndex">The name of the index to retrieve information for, can be null</param>
+            <param name="strTable">The table to retrieve index information for, can be null</param>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_Tables(System.String,System.String,System.String)">
+            <summary>
+            Retrieves table schema information for the database and catalog
+            </summary>
+            <param name="strCatalog">The catalog (attached database) to retrieve tables on</param>
+            <param name="strTable">The table to retrieve, can be null</param>
+            <param name="strType">The table type, can be null</param>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_Views(System.String,System.String)">
+            <summary>
+            Retrieves view schema information for the database
+            </summary>
+            <param name="strCatalog">The catalog (attached database) to retrieve views on</param>
+            <param name="strView">The view name, can be null</param>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_Catalogs(System.String)">
+            <summary>
+            Retrieves catalog (attached databases) schema information for the database
+            </summary>
+            <param name="strCatalog">The catalog to retrieve, can be null</param>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_IndexColumns(System.String,System.String,System.String,System.String)">
+            <summary>
+            Returns the base column information for indexes in a database
+            </summary>
+            <param name="strCatalog">The catalog to retrieve indexes for (can be null)</param>
+            <param name="strTable">The table to restrict index information by (can be null)</param>
+            <param name="strIndex">The index to restrict index information by (can be null)</param>
+            <param name="strColumn">The source column to restrict index information by (can be null)</param>
+            <returns>A DataTable containing the results</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_ViewColumns(System.String,System.String,System.String)">
+            <summary>
+            Returns detailed column information for a specified view
+            </summary>
+            <param name="strCatalog">The catalog to retrieve columns for (can be null)</param>
+            <param name="strView">The view to restrict column information by (can be null)</param>
+            <param name="strColumn">The source column to restrict column information by (can be null)</param>
+            <returns>A DataTable containing the results</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnection.Schema_ForeignKeys(System.String,System.String,System.String)">
+            <summary>
+            Retrieves foreign key information from the specified set of filters
+            </summary>
+            <param name="strCatalog">An optional catalog to restrict results on</param>
+            <param name="strTable">An optional table to restrict results on</param>
+            <param name="strKeyName">An optional foreign key name to restrict results on</param>
+            <returns>A DataTable with the results of the query</returns>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection._handlers">
+            <summary>
+            Static variable to store the connection event handlers to call.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.StateChange">
+            <summary>
+            This event is raised whenever the database is opened or closed.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.Changed">
+            <summary>
+            This event is raised when events related to the lifecycle of a
+            SQLiteConnection object occur.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ConnectionPool">
+            <summary>
+            This property is used to obtain or set the custom connection pool
+            implementation to use, if any.  Setting this property to null will
+            cause the default connection pool implementation to be used.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.PoolCount">
+            <summary>
+            Returns the number of pool entries for the file name associated with this connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ConnectionString">
+            <summary>
+            The connection string containing the parameters for the connection
+            </summary>
+            <remarks>
+            For the complete list of supported connection string properties,
+            please see <see cref="T:system.Data.SQLite.SQLiteConnection"/>.
+            </remarks>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
+            <summary>
+            Returns the data source file name without extension or path.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.FileName">
+            <summary>
+            Returns the fully qualified path and file name for the currently open
+            database, if any.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.Database">
+            <summary>
+            Returns the string "main".
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DefaultTimeout">
+            <summary>
+            Gets/sets the default command timeout for newly-created commands.  This is especially useful for
+            commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
+            This can also be set in the ConnectionString with "Default Timeout"
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.BusyTimeout">
+            <summary>
+            Gets/sets the default busy timeout to use with the SQLite core library.  This is only used when
+            opening a connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.PrepareRetries">
+            <summary>
+            The maximum number of retries when preparing SQL to be executed.  This
+            normally only applies to preparation errors resulting from the database
+            schema being changed.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ProgressOps">
+            <summary>
+            The approximate number of virtual machine instructions between progress
+            events.  In order for progress events to actually fire, the event handler
+            must be added to the <see cref="E:system.Data.SQLite.SQLiteConnection.Progress"/> event as
+            well.  This value will only be used when the underlying native progress
+            callback needs to be changed.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ParseViaFramework">
+            <summary>
+            Non-zero if the built-in (i.e. framework provided) connection string
+            parser should be used when opening the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.Flags">
+            <summary>
+            Gets/sets the extra behavioral flags for this connection.  See the
+            <see cref="T:system.Data.SQLite.SQLiteConnectionFlags"/> enumeration for a list of
+            possible values.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DefaultDbType">
+            <summary>
+            Gets/sets the default database type for this connection.  This value
+            will only be used when not null.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DefaultTypeName">
+            <summary>
+            Gets/sets the default database type name for this connection.  This
+            value will only be used when not null.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.VfsName">
+            <summary>
+            Gets/sets the VFS name for this connection.  This value will only be
+            used when opening the database.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.OwnHandle">
+            <summary>
+            Returns non-zero if the underlying native connection handle is
+            owned by this instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ServerVersion">
+            <summary>
+            Returns the version of the underlying SQLite database engine
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.LastInsertRowId">
+            <summary>
+            Returns the rowid of the most recent successful INSERT into the database from this connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.Changes">
+            <summary>
+            Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
+            this connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.AutoCommit">
+            <summary>
+            Returns non-zero if the given database connection is in autocommit mode.
+            Autocommit mode is on by default.  Autocommit mode is disabled by a BEGIN
+            statement.  Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.MemoryUsed">
+            <summary>
+            Returns the amount of memory (in bytes) currently in use by the SQLite core library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.MemoryHighwater">
+            <summary>
+            Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DefineConstants">
+            <summary>
+            Returns a string containing the define constants (i.e. compile-time
+            options) used to compile the core managed assembly, delimited with
+            spaces.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.SQLiteVersion">
+            <summary>
+            Returns the version of the underlying SQLite core library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.SQLiteSourceId">
+            <summary>
+            This method returns the string whose value is the same as the
+            SQLITE_SOURCE_ID C preprocessor macro used when compiling the
+            SQLite core library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.SQLiteCompileOptions">
+            <summary>
+            Returns a string containing the compile-time options used to
+            compile the SQLite core native library, delimited with spaces.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.InteropVersion">
+            <summary>
+            This method returns the version of the interop SQLite assembly
+            used.  If the SQLite interop assembly is not in use or the
+            necessary information cannot be obtained for any reason, a null
+            value may be returned.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.InteropSourceId">
+            <summary>
+            This method returns the string whose value contains the unique
+            identifier for the source checkout used to build the interop
+            assembly.  If the SQLite interop assembly is not in use or the
+            necessary information cannot be obtained for any reason, a null
+            value may be returned.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.InteropCompileOptions">
+            <summary>
+            Returns a string containing the compile-time options used to
+            compile the SQLite interop assembly, delimited with spaces.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ProviderVersion">
+            <summary>
+            This method returns the version of the managed components used
+            to interact with the SQLite core library.  If the necessary
+            information cannot be obtained for any reason, a null value may
+            be returned.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.ProviderSourceId">
+            <summary>
+            This method returns the string whose value contains the unique
+            identifier for the source checkout used to build the managed
+            components currently executing.  If the necessary information
+            cannot be obtained for any reason, a null value may be returned.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DefaultFlags">
+            <summary>
+            The default connection flags to be used for all opened connections
+            when they are not present in the connection string.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.SharedFlags">
+            <summary>
+            The extra connection flags to be used for all opened connections.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.State">
+            <summary>
+            Returns the state of the connection.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.Progress">
+            <summary>
+            This event is raised periodically during long running queries.  Changing
+            the value of the <see cref="F:system.Data.SQLite.ProgressEventArgs.ReturnCode"/> property will
+            determine if the operation in progress will continue or be interrupted.
+            For the entire duration of the event, the associated connection and
+            statement objects must not be modified, either directly or indirectly, by
+            the called code.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.Authorize">
+            <summary>
+            This event is raised whenever SQLite encounters an action covered by the
+            authorizer during query preparation.  Changing the value of the
+            <see cref="F:system.Data.SQLite.AuthorizerEventArgs.ReturnCode"/> property will determine if
+            the specific action will be allowed, ignored, or denied.  For the entire
+            duration of the event, the associated connection and statement objects
+            must not be modified, either directly or indirectly, by the called code.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.Update">
+            <summary>
+            This event is raised whenever SQLite makes an update/delete/insert into the database on
+            this connection.  It only applies to the given connection.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.Commit">
+            <summary>
+            This event is raised whenever SQLite is committing a transaction.
+            Return non-zero to trigger a rollback.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.Trace">
+            <summary>
+            This event is raised whenever SQLite statement first begins executing on
+            this connection.  It only applies to the given connection.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteConnection.RollBack">
+            <summary>
+            This event is raised whenever SQLite is rolling back a transaction.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnection.DbProviderFactory">
+            <summary>
+            Returns the <see cref="T:system.Data.SQLite.SQLiteFactory"/> instance.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SynchronizationModes">
+            <summary>
+            The I/O file cache flushing behavior for the connection
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SynchronizationModes.Normal">
+            <summary>
+            Normal file flushing at critical sections of the code
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SynchronizationModes.Full">
+            <summary>
+            Full file flushing after every write operation
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SynchronizationModes.Off">
+            <summary>
+            Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteProgressEventHandler">
+            <summary>
+            Raised each time the number of virtual machine instructions is
+            approximately equal to the value of the
+            <see cref="P:system.Data.SQLite.SQLiteConnection.ProgressOps"/> property.
+            </summary>
+            <param name="sender">The connection performing the operation.</param>
+            <param name="e">A <see cref="T:system.Data.SQLite.ProgressEventArgs"/> that contains the
+            event data.</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteAuthorizerEventHandler">
+            <summary>
+            Raised when authorization is required to perform an action contained
+            within a SQL query.
+            </summary>
+            <param name="sender">The connection performing the action.</param>
+            <param name="e">A <see cref="T:system.Data.SQLite.AuthorizerEventArgs"/> that contains the
+            event data.</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteCommitHandler">
+            <summary>
+            Raised when a transaction is about to be committed.  To roll back a transaction, set the
+            rollbackTrans boolean value to true.
+            </summary>
+            <param name="sender">The connection committing the transaction</param>
+            <param name="e">Event arguments on the transaction</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteUpdateEventHandler">
+            <summary>
+            Raised when data is inserted, updated and deleted on a given connection
+            </summary>
+            <param name="sender">The connection committing the transaction</param>
+            <param name="e">The event parameters which triggered the event</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteTraceEventHandler">
+            <summary>
+            Raised when a statement first begins executing on a given connection
+            </summary>
+            <param name="sender">The connection executing the statement</param>
+            <param name="e">Event arguments of the trace</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteBackupCallback">
+            <summary>
+            Raised between each backup step.
+            </summary>
+            <param name="source">
+            The source database connection.
+            </param>
+            <param name="sourceName">
+            The source database name.
+            </param>
+            <param name="destination">
+            The destination database connection.
+            </param>
+            <param name="destinationName">
+            The destination database name.
+            </param>
+            <param name="pages">
+            The number of pages copied with each step.
+            </param>
+            <param name="remainingPages">
+            The number of pages remaining to be copied.
+            </param>
+            <param name="totalPages">
+            The total number of pages in the source database.
+            </param>
+            <param name="retry">
+            Set to true if the operation needs to be retried due to database
+            locking issues; otherwise, set to false.
+            </param>
+            <returns>
+            True to continue with the backup process or false to halt the backup
+            process, rolling back any changes that have been made so far.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.ProgressEventArgs">
+            <summary>
+            The event data associated with progress reporting events.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ProgressEventArgs.UserData">
+            <summary>
+            The user-defined native data associated with this event.  Currently,
+            this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.ProgressEventArgs.ReturnCode">
+            <summary>
+            The return code for the current call into the progress callback.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ProgressEventArgs.#ctor">
+            <summary>
+            Constructs an instance of this class with default property values.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ProgressEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteProgressReturnCode)">
+            <summary>
+            Constructs an instance of this class with specific property values.
+            </summary>
+            <param name="pUserData">
+            The user-defined native data associated with this event.
+            </param>
+            <param name="returnCode">
+            The progress return code.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.AuthorizerEventArgs">
+            <summary>
+            The data associated with a call into the authorizer.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.UserData">
+            <summary>
+            The user-defined native data associated with this event.  Currently,
+            this will always contain the value of <see cref="F:System.IntPtr.Zero"/>.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.ActionCode">
+            <summary>
+            The action code responsible for the current call into the authorizer.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument1">
+            <summary>
+            The first string argument for the current call into the authorizer.
+            The exact value will vary based on the action code, see the
+            <see cref="T:system.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
+            values.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.Argument2">
+            <summary>
+            The second string argument for the current call into the authorizer.
+            The exact value will vary based on the action code, see the
+            <see cref="T:system.Data.SQLite.SQLiteAuthorizerActionCode"/> enumeration for possible
+            values.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.Database">
+            <summary>
+            The database name for the current call into the authorizer, if
+            applicable.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.Context">
+            <summary>
+            The name of the inner-most trigger or view that is responsible for
+            the access attempt or a null value if this access attempt is directly
+            from top-level SQL code.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.AuthorizerEventArgs.ReturnCode">
+            <summary>
+            The return code for the current call into the authorizer.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor">
+            <summary>
+            Constructs an instance of this class with default property values.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.AuthorizerEventArgs.#ctor(System.IntPtr,System.Data.SQLite.SQLiteAuthorizerActionCode,System.String,System.String,System.String,System.String,System.Data.SQLite.SQLiteAuthorizerReturnCode)">
+            <summary>
+            Constructs an instance of this class with specific property values.
+            </summary>
+            <param name="pUserData">
+            The user-defined native data associated with this event.
+            </param>
+            <param name="actionCode">
+            The authorizer action code.
+            </param>
+            <param name="argument1">
+            The first authorizer argument.
+            </param>
+            <param name="argument2">
+            The second authorizer argument.
+            </param>
+            <param name="database">
+            The database name, if applicable.
+            </param>
+            <param name="context">
+            The name of the inner-most trigger or view that is responsible for
+            the access attempt or a null value if this access attempt is directly
+            from top-level SQL code.
+            </param>
+            <param name="returnCode">
+            The authorizer return code.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.UpdateEventType">
+            <summary>
+            Whenever an update event is triggered on a connection, this enum will indicate
+            exactly what type of operation is being performed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventType.Delete">
+            <summary>
+            A row is being deleted from the given database and table
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventType.Insert">
+            <summary>
+            A row is being inserted into the table.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventType.Update">
+            <summary>
+            A row is being updated in the table.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.UpdateEventArgs">
+            <summary>
+            Passed during an Update callback, these event arguments detail the type of update operation being performed
+            on the given connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventArgs.Database">
+            <summary>
+            The name of the database being updated (usually "main" but can be any attached or temporary database)
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventArgs.Table">
+            <summary>
+            The name of the table being updated
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventArgs.Event">
+            <summary>
+            The type of update being performed (insert/update/delete)
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UpdateEventArgs.RowId">
+            <summary>
+            The RowId affected by this update.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.CommitEventArgs">
+            <summary>
+            Event arguments raised when a transaction is being committed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CommitEventArgs.AbortTransaction">
+            <summary>
+            Set to true to abort the transaction and trigger a rollback
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.TraceEventArgs">
+            <summary>
+            Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TraceEventArgs.Statement">
+            <summary>
+            SQL statement text as the statement first begins executing
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.ISQLiteConnectionPool">
+            <summary>
+            This interface represents a custom connection pool implementation
+            usable by System.Data.SQLite.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
+            <summary>
+            Counts the number of pool entries matching the specified file name.
+            </summary>
+            <param name="fileName">
+            The file name to match or null to match all files.
+            </param>
+            <param name="counts">
+            The pool entry counts for each matching file.
+            </param>
+            <param name="openCount">
+            The total number of connections successfully opened from any pool.
+            </param>
+            <param name="closeCount">
+            The total number of connections successfully closed from any pool.
+            </param>
+            <param name="totalCount">
+            The total number of pool entries for all matching files.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearPool(System.String)">
+            <summary>
+            Disposes of all pooled connections associated with the specified
+            database file name.
+            </summary>
+            <param name="fileName">
+            The database file name.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteConnectionPool.ClearAllPools">
+            <summary>
+            Disposes of all pooled connections.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteConnectionPool.Add(System.String,System.Object,System.Int32)">
+            <summary>
+            Adds a connection to the pool of those associated with the
+            specified database file name.
+            </summary>
+            <param name="fileName">
+            The database file name.
+            </param>
+            <param name="handle">
+            The database connection handle.
+            </param>
+            <param name="version">
+            The connection pool version at the point the database connection
+            handle was received from the connection pool.  This is also the
+            connection pool version that the database connection handle was
+            created under.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
+            <summary>
+            Removes a connection from the pool of those associated with the
+            specified database file name with the intent of using it to
+            interact with the database.
+            </summary>
+            <param name="fileName">
+            The database file name.
+            </param>
+            <param name="maxPoolSize">
+            The new maximum size of the connection pool for the specified
+            database file name.
+            </param>
+            <param name="version">
+            The connection pool version associated with the returned database
+            connection handle, if any.
+            </param>
+            <returns>
+            The database connection handle associated with the specified
+            database file name or null if it cannot be obtained.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnectionPool">
+            <summary>
+            This default method implementations in this class should not be used by
+            applications that make use of COM (either directly or indirectly) due
+            to possible deadlocks that can occur during finalization of some COM
+            objects.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool._syncRoot">
+            <summary>
+            This field is used to synchronize access to the private static data
+            in this class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool._connectionPool">
+            <summary>
+            When this field is non-null, it will be used to provide the
+            implementation of all the connection pool methods; otherwise,
+            the default method implementations will be used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool._queueList">
+            <summary>
+            The dictionary of connection pools, based on the normalized file
+            name of the SQLite database.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
+            <summary>
+            The default version number new pools will get.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool._poolOpened">
+            <summary>
+            The number of connections successfully opened from any pool.
+            This value is incremented by the Remove method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool._poolClosed">
+            <summary>
+            The number of connections successfully closed from any pool.
+            This value is incremented by the Add method.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.GetCounts(System.String,System.Collections.Generic.Dictionary{System.String,System.Int32}@,System.Int32@,System.Int32@,System.Int32@)">
+            <summary>
+            Counts the number of pool entries matching the specified file name.
+            </summary>
+            <param name="fileName">
+            The file name to match or null to match all files.
+            </param>
+            <param name="counts">
+            The pool entry counts for each matching file.
+            </param>
+            <param name="openCount">
+            The total number of connections successfully opened from any pool.
+            </param>
+            <param name="closeCount">
+            The total number of connections successfully closed from any pool.
+            </param>
+            <param name="totalCount">
+            The total number of pool entries for all matching files.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
+            <summary>
+            Disposes of all pooled connections associated with the specified
+            database file name.
+            </summary>
+            <param name="fileName">
+            The database file name.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
+            <summary>
+            Disposes of all pooled connections.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
+            <summary>
+            Adds a connection to the pool of those associated with the
+            specified database file name.
+            </summary>
+            <param name="fileName">
+            The database file name.
+            </param>
+            <param name="handle">
+            The database connection handle.
+            </param>
+            <param name="version">
+            The connection pool version at the point the database connection
+            handle was received from the connection pool.  This is also the
+            connection pool version that the database connection handle was
+            created under.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
+            <summary>
+            Removes a connection from the pool of those associated with the
+            specified database file name with the intent of using it to
+            interact with the database.
+            </summary>
+            <param name="fileName">
+            The database file name.
+            </param>
+            <param name="maxPoolSize">
+            The new maximum size of the connection pool for the specified
+            database file name.
+            </param>
+            <param name="version">
+            The connection pool version associated with the returned database
+            connection handle, if any.
+            </param>
+            <returns>
+            The database connection handle associated with the specified
+            database file name or null if it cannot be obtained.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.GetConnectionPool">
+            <summary>
+            This method is used to obtain a reference to the custom connection
+            pool implementation currently in use, if any.
+            </summary>
+            <returns>
+            The custom connection pool implementation or null if the default
+            connection pool implementation should be used.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.SetConnectionPool(System.Data.SQLite.ISQLiteConnectionPool)">
+            <summary>
+            This method is used to set the reference to the custom connection
+            pool implementation to use, if any.
+            </summary>
+            <param name="connectionPool">
+            The custom connection pool implementation to use or null if the
+            default connection pool implementation should be used.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.ResizePool(System.Data.SQLite.SQLiteConnectionPool.PoolQueue,System.Boolean)">
+            <summary>
+            We do not have to thread-lock anything in this function, because it
+            is only called by other functions above which already take the lock.
+            </summary>
+            <param name="queue">
+            The pool queue to resize.
+            </param>
+            <param name="add">
+            If a function intends to add to the pool, this is true, which
+            forces the resize to take one more than it needs from the pool.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnectionPool.PoolQueue">
+            <summary>
+            Keeps track of connections made on a specified file.  The PoolVersion
+            dictates whether old objects get returned to the pool or discarded
+            when no longer in use.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.Queue">
+            <summary>
+            The queue of weak references to the actual database connection
+            handles.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.PoolVersion">
+            <summary>
+            This pool version associated with the database connection
+            handles in this pool queue.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.MaxPoolSize">
+            <summary>
+            The maximum size of this pool queue.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionPool.PoolQueue.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Constructs a connection pool queue using the specified version
+            and maximum size.  Normally, all the database connection
+            handles in this pool are associated with a single database file
+            name.
+            </summary>
+            <param name="version">
+            The initial pool version for this connection pool queue.
+            </param>
+            <param name="maxSize">
+            The initial maximum size for this connection pool queue.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnectionStringBuilder">
+            <summary>
+            SQLite implementation of DbConnectionStringBuilder.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionStringBuilder._properties">
+            <summary>
+            Properties of this class
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor">
+            <overloads>
+            Constructs a new instance of the class
+            </overloads>
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.#ctor(System.String)">
+            <summary>
+            Constructs a new instance of the class using the specified connection string.
+            </summary>
+            <param name="connectionString">The connection string to parse</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.Initialize(System.String)">
+            <summary>
+            Private initializer, which assigns the connection string and resets the builder
+            </summary>
+            <param name="cnnString">The connection string to assign</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.TryGetValue(System.String,System.Object@)">
+            <summary>
+            Helper function for retrieving values from the connectionstring
+            </summary>
+            <param name="keyword">The keyword to retrieve settings for</param>
+            <param name="value">The resulting parameter value</param>
+            <returns>Returns true if the value was found and returned</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteConnectionStringBuilder.FallbackGetProperties(System.Collections.Hashtable)">
+            <summary>
+            Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties()
+            </summary>
+            <param name="propertyList">The hashtable to fill with property descriptors</param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Version">
+            <summary>
+            Gets/Sets the default version of the SQLite engine to instantiate.  Currently the only valid value is 3, indicating version 3 of the sqlite library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SyncMode">
+            <summary>
+            Gets/Sets the synchronization mode (file flushing) of the connection string.  Default is "Normal".
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.UseUTF16Encoding">
+            <summary>
+            Gets/Sets the encoding for the connection string.  The default is "False" which indicates UTF-8 encoding.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Pooling">
+            <summary>
+            Gets/Sets whether or not to use connection pooling.  The default is "False"
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BinaryGUID">
+            <summary>
+            Gets/Sets whethor not to store GUID's in binary format.  The default is True
+            which saves space in the database.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
+            <summary>
+            Gets/Sets the filename to open on the connection string.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Uri">
+            <summary>
+            An alternate to the data source property
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FullUri">
+            <summary>
+            An alternate to the data source property that uses the SQLite URI syntax.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTimeout">
+            <summary>
+            Gets/sets the default command timeout for newly-created commands.  This is especially useful for
+            commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BusyTimeout">
+            <summary>
+            Gets/sets the busy timeout to use with the SQLite core library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PrepareRetries">
+            <summary>
+            Gets/sets the maximum number of retries when preparing SQL to be executed.
+            This normally only applies to preparation errors resulting from the database
+            schema being changed.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ProgressOps">
+            <summary>
+            Gets/sets the approximate number of virtual machine instructions between
+            progress events.  In order for progress events to actually fire, the event
+            handler must be added to the <see cref="E:system.Data.SQLite.SQLiteConnection.Progress"/> event
+            as well.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Enlist">
+            <summary>
+            Determines whether or not the connection will automatically participate
+            in the current distributed transaction (if one exists)
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.FailIfMissing">
+            <summary>
+            If set to true, will throw an exception if the database specified in the connection
+            string does not exist.  If false, the database will be created automatically.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.LegacyFormat">
+            <summary>
+            If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
+            database sizes.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ReadOnly">
+            <summary>
+            When enabled, the database will be opened for read-only access and writing will be disabled.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
+            <summary>
+            Gets/sets the database encryption password
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.HexPassword">
+            <summary>
+            Gets/sets the database encryption hexadecimal password
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
+            <summary>
+            Gets/Sets the page size for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.MaxPageCount">
+            <summary>
+            Gets/Sets the maximum number of pages the database may hold
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">
+            <summary>
+            Gets/Sets the cache size for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormat">
+            <summary>
+            Gets/Sets the DateTime format for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeKind">
+            <summary>
+            Gets/Sets the DateTime kind for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormatString">
+            <summary>
+            Gets/sets the DateTime format string used for formatting
+            and parsing purposes.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.BaseSchemaName">
+            <summary>
+            Gets/Sets the placeholder base schema name used for
+            .NET Framework compatibility purposes.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.JournalMode">
+            <summary>
+            Determines how SQLite handles the transaction journal file.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultIsolationLevel">
+            <summary>
+            Sets the default isolation level for transactions on the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultDbType">
+            <summary>
+            Gets/sets the default database type for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTypeName">
+            <summary>
+            Gets/sets the default type name for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.VfsName">
+            <summary>
+            Gets/sets the VFS name for the connection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ForeignKeys">
+            <summary>
+            If enabled, use foreign key constraints
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.RecursiveTriggers">
+            <summary>
+            Enable or disable the recursive trigger capability.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ZipVfsVersion">
+            <summary>
+            If non-null, this is the version of ZipVFS to use.  This requires the
+            System.Data.SQLite interop assembly -AND- primary managed assembly to
+            be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
+            property does nothing.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Flags">
+            <summary>
+            Gets/Sets the extra behavioral flags.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.SetDefaults">
+            <summary>
+            If enabled, apply the default connection settings to opened databases.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ToFullPath">
+            <summary>
+            If enabled, attempt to resolve the provided data source file name to a
+            full path before opening.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoDefaultFlags">
+            <summary>
+            If enabled, skip using the configured default connection flags.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.NoSharedFlags">
+            <summary>
+            If enabled, skip using the configured shared connection flags.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.TypeAffinity">
+            <summary>
+            SQLite has very limited types, and is inherently text-based.  The first 5 types below represent the sum of all types SQLite
+            understands.  The DateTime extension to the spec is for internal use only.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
+            <summary>
+            Not used
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.Int64">
+            <summary>
+            All integers in SQLite default to Int64
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.Double">
+            <summary>
+            All floating point numbers in SQLite default to double
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.Text">
+            <summary>
+            The default data type of SQLite is text
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.Blob">
+            <summary>
+            Typically blob types are only seen when returned from a function
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.Null">
+            <summary>
+            Null types can be returned from functions
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.DateTime">
+            <summary>
+            Used internally by this provider
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.TypeAffinity.None">
+            <summary>
+            Used internally by this provider
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteConnectionEventType">
+            <summary>
+            These are the event types associated with the
+            <see cref="T:system.Data.SQLite.SQLiteConnectionEventHandler"/>
+            delegate (and its corresponding event) and the
+            <see cref="T:system.Data.SQLite.ConnectionEventArgs"/> class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.Invalid">
+            <summary>
+            Not used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.Unknown">
+            <summary>
+            Not used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opening">
+            <summary>
+            The connection is being opened.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.ConnectionString">
+            <summary>
+            The connection string has been parsed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.Opened">
+            <summary>
+            The connection was opened.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase">
+            <summary>
+            The <see cref="F:system.Data.SQLite.SQLiteConnectionEventType.ChangeDatabase"/> method was called on the
+            connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewTransaction">
+            <summary>
+            A transaction was created using the connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.EnlistTransaction">
+            <summary>
+            The connection was enlisted into a transaction.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCommand">
+            <summary>
+            A command was created using the connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewDataReader">
+            <summary>
+            A data reader was created using the connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.NewCriticalHandle">
+            <summary>
+            An instance of a <see cref="T:System.Runtime.InteropServices.CriticalHandle"/> derived class has
+            been created to wrap a native resource.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closing">
+            <summary>
+            The connection is being closed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.Closed">
+            <summary>
+            The connection was closed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingCommand">
+            <summary>
+            A command is being disposed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.DisposingDataReader">
+            <summary>
+            A data reader is being disposed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosingDataReader">
+            <summary>
+            A data reader is being closed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.OpenedFromPool">
+            <summary>
+            A native resource was opened (i.e. obtained) from the pool.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteConnectionEventType.ClosedToPool">
+            <summary>
+            A native resource was closed (i.e. released) to the pool.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteDateFormats">
+             <summary>
+             This implementation of SQLite for ADO.NET can process date/time fields in
+             databases in one of six formats.
+             </summary>
+             <remarks>
+             ISO8601 format is more compatible, readable, fully-processable, but less
+             accurate as it does not provide time down to fractions of a second.
+             JulianDay is the numeric format the SQLite uses internally and is arguably
+             the most compatible with 3rd party tools.  It is not readable as text
+             without post-processing.  Ticks less compatible with 3rd party tools that
+             query the database, and renders the DateTime field unreadable as text
+             without post-processing.  UnixEpoch is more compatible with Unix systems.
+             InvariantCulture allows the configured format for the invariant culture
+             format to be used and is human readable.  CurrentCulture allows the
+             configured format for the current culture to be used and is also human
+             readable.
+            
+             The preferred order of choosing a DateTime format is JulianDay, ISO8601,
+             and then Ticks.  Ticks is mainly present for legacy code support.
+             </remarks>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
+            <summary>
+            Use the value of DateTime.Ticks.  This value is not recommended and is not well supported with LINQ.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
+            <summary>
+            Use the ISO-8601 format.  Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
+            "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
+            <summary>
+            The interval of time in days and fractions of a day since January 1, 4713 BC.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.UnixEpoch">
+            <summary>
+            The whole number of seconds since the Unix epoch (January 1, 1970).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.InvariantCulture">
+            <summary>
+            Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.CurrentCulture">
+            <summary>
+            Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDateFormats.Default">
+            <summary>
+            The default format for this provider.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
+             <summary>
+             This enum determines how SQLite treats its journal file.
+             </summary>
+             <remarks>
+             By default SQLite will create and delete the journal file when needed during a transaction.
+             However, for some computers running certain filesystem monitoring tools, the rapid
+             creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
+            
+             If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
+             when starting a transaction.  If this is happening, you may want to change the default journal mode to Persist.
+             </remarks>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Default">
+            <summary>
+            The default mode, this causes SQLite to use the existing journaling mode for the database.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
+            <summary>
+            SQLite will create and destroy the journal file as-needed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
+            <summary>
+            When this is set, SQLite will keep the journal file even after a transaction has completed.  It's contents will be erased,
+            and the journal re-used as often as needed.  If it is deleted, it will be recreated the next time it is needed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
+            <summary>
+            This option disables the rollback journal entirely.  Interrupted transactions or a program crash can cause database
+            corruption in this mode!
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Truncate">
+            <summary>
+            SQLite will truncate the journal file to zero-length instead of deleting it.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Memory">
+            <summary>
+            SQLite will store the journal in volatile RAM.  This saves disk I/O but at the expense of database safety and integrity.
+            If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
+            database file will very likely go corrupt.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Wal">
+            <summary>
+            SQLite uses a write-ahead log instead of a rollback journal to implement transactions.  The WAL journaling mode is persistent;
+            after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
+            in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteSynchronousEnum">
+            <summary>
+            Possible values for the "synchronous" database setting.  This setting determines
+            how often the database engine calls the xSync method of the VFS.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Default">
+            <summary>
+            Use the default "synchronous" database setting.  Currently, this should be
+            the same as using the FULL mode.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Off">
+            <summary>
+            The database engine continues without syncing as soon as it has handed
+            data off to the operating system.  If the application running SQLite
+            crashes, the data will be safe, but the database might become corrupted
+            if the operating system crashes or the computer loses power before that
+            data has been written to the disk surface.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Normal">
+            <summary>
+            The database engine will still sync at the most critical moments, but
+            less often than in FULL mode.  There is a very small (though non-zero)
+            chance that a power failure at just the wrong time could corrupt the
+            database in NORMAL mode.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteSynchronousEnum.Full">
+            <summary>
+            The database engine will use the xSync method of the VFS to ensure that
+            all content is safely written to the disk surface prior to continuing.
+            This ensures that an operating system crash or power failure will not
+            corrupt the database.  FULL synchronous is very safe, but it is also
+            slower.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteExecuteType">
+            <summary>
+            The requested command execution type.  This controls which method of the
+            <see cref="T:system.Data.SQLite.SQLiteCommand"/> object will be called.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteExecuteType.None">
+            <summary>
+            Do nothing.  No method will be called.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteExecuteType.NonQuery">
+            <summary>
+            The command is not expected to return a result -OR- the result is not
+            needed.  The <see cref="M:system.Data.SQLite.SQLiteCommand.ExecuteNonQuery"/> or
+            <see cref="M:system.Data.SQLite.SQLiteCommand.ExecuteNonQuery(System.Data.CommandBehavior)"/>  method
+            will be called.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteExecuteType.Scalar">
+            <summary>
+            The command is expected to return a scalar result -OR- the result should
+            be limited to a scalar result.  The <see cref="M:system.Data.SQLite.SQLiteCommand.ExecuteScalar"/>
+            or <see cref="M:system.Data.SQLite.SQLiteCommand.ExecuteScalar(System.Data.CommandBehavior)"/> method will
+            be called.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteExecuteType.Reader">
+            <summary>
+            The command is expected to return <see cref="T:system.Data.SQLite.SQLiteDataReader"/> result.
+            The <see cref="M:system.Data.SQLite.SQLiteCommand.ExecuteReader"/> or
+            <see cref="M:system.Data.SQLite.SQLiteCommand.ExecuteReader(System.Data.CommandBehavior)"/> method will
+            be called.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteExecuteType.Default">
+            <summary>
+            Use the default command execution type.  Using this value is the same
+            as using the <see cref="F:system.Data.SQLite.SQLiteExecuteType.NonQuery"/> value.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteAuthorizerActionCode">
+            <summary>
+            The action code responsible for the current call into the authorizer.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.None">
+            <summary>
+            No action is being performed.  This value should not be used from
+            external code.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Copy">
+            <summary>
+            No longer used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateIndex">
+             <summary>
+             An index will be created.  The action-specific arguments are the
+             index name and the table name.
+            
+             </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTable">
+            <summary>
+            A table will be created.  The action-specific arguments are the
+            table name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempIndex">
+            <summary>
+            A temporary index will be created.  The action-specific arguments
+            are the index name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTable">
+            <summary>
+            A temporary table will be created.  The action-specific arguments
+            are the table name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempTrigger">
+            <summary>
+            A temporary trigger will be created.  The action-specific arguments
+            are the trigger name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTempView">
+            <summary>
+            A temporary view will be created.  The action-specific arguments are
+            the view name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateTrigger">
+            <summary>
+            A trigger will be created.  The action-specific arguments are the
+            trigger name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateView">
+            <summary>
+            A view will be created.  The action-specific arguments are the view
+            name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Delete">
+            <summary>
+            A DELETE statement will be executed.  The action-specific arguments
+            are the table name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropIndex">
+            <summary>
+            An index will be dropped.  The action-specific arguments are the
+            index name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTable">
+            <summary>
+            A table will be dropped.  The action-specific arguments are the tables
+            name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempIndex">
+            <summary>
+            A temporary index will be dropped.  The action-specific arguments are
+            the index name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTable">
+            <summary>
+            A temporary table will be dropped.  The action-specific arguments are
+            the table name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempTrigger">
+            <summary>
+            A temporary trigger will be dropped.  The action-specific arguments
+            are the trigger name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTempView">
+            <summary>
+            A temporary view will be dropped.  The action-specific arguments are
+            the view name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropTrigger">
+            <summary>
+            A trigger will be dropped.  The action-specific arguments are the
+            trigger name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropView">
+            <summary>
+            A view will be dropped.  The action-specific arguments are the view
+            name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Insert">
+            <summary>
+            An INSERT statement will be executed.  The action-specific arguments
+            are the table name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Pragma">
+            <summary>
+            A PRAGMA statement will be executed.  The action-specific arguments
+            are the name of the PRAGMA and the new value or a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Read">
+            <summary>
+            A table column will be read.  The action-specific arguments are the
+            table name and the column name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Select">
+            <summary>
+            A SELECT statement will be executed.  The action-specific arguments
+            are both null values.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Transaction">
+            <summary>
+            A transaction will be started, committed, or rolled back.  The
+            action-specific arguments are the name of the operation (BEGIN,
+            COMMIT, or ROLLBACK) and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Update">
+            <summary>
+            An UPDATE statement will be executed.  The action-specific arguments
+            are the table name and the column name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Attach">
+            <summary>
+            A database will be attached to the connection.  The action-specific
+            arguments are the database file name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Detach">
+            <summary>
+            A database will be detached from the connection.  The action-specific
+            arguments are the database name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.AlterTable">
+            <summary>
+            The schema of a table will be altered.  The action-specific arguments
+            are the database name and the table name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Reindex">
+            <summary>
+            An index will be deleted and then recreated.  The action-specific
+            arguments are the index name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Analyze">
+            <summary>
+            A table will be analyzed to gathers statistics about it.  The
+            action-specific arguments are the table name and a null value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.CreateVtable">
+            <summary>
+            A virtual table will be created.  The action-specific arguments are
+            the table name and the module name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.DropVtable">
+            <summary>
+            A virtual table will be dropped.  The action-specific arguments are
+            the table name and the module name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Function">
+            <summary>
+            A SQL function will be called.  The action-specific arguments are a
+            null value and the function name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Savepoint">
+            <summary>
+            A savepoint will be created, released, or rolled back.  The
+            action-specific arguments are the name of the operation (BEGIN,
+            RELEASE, or ROLLBACK) and the savepoint name.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerActionCode.Recursive">
+            <summary>
+            A recursive query will be executed.  The action-specific arguments
+            are two null values.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteProgressReturnCode">
+            <summary>
+            The possible return codes for the progress callback.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Continue">
+            <summary>
+            The operation should continue.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteProgressReturnCode.Interrupt">
+            <summary>
+            The operation should be interrupted.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteAuthorizerReturnCode">
+            <summary>
+            The return code for the current call into the authorizer.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ok">
+            <summary>
+            The action will be allowed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Deny">
+            <summary>
+            The overall action will be disallowed and an error message will be
+            returned from the query preparation method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteAuthorizerReturnCode.Ignore">
+            <summary>
+            The specific action will be disallowed; however, the overall action
+            will continue.  The exact effects of this return code vary depending
+            on the specific action, please refer to the SQLite core library
+            documentation for futher details.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteType">
+            <summary>
+            Class used internally to determine the datatype of a column in a resultset
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteType.Type">
+            <summary>
+            The DbType of the column, or DbType.Object if it cannot be determined
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteType.Affinity">
+            <summary>
+            The affinity of a column, used for expressions or when Type is DbType.Object
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteType.#ctor">
+            <summary>
+            Constructs a default instance of this type.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteType.#ctor(System.Data.SQLite.TypeAffinity,System.Data.DbType)">
+            <summary>
+            Constructs an instance of this type with the specified field values.
+            </summary>
+            <param name="affinity">
+            The type affinity to use for the new instance.
+            </param>
+            <param name="type">
+            The database type to use for the new instance.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteDataAdapter">
+            <summary>
+            SQLite implementation of DbDataAdapter.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor">
+            <overloads>
+            This class is just a shell around the DbDataAdapter.  Nothing from
+            DbDataAdapter is overridden here, just a few constructors are defined.
+            </overloads>
+            <summary>
+            Default constructor.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.Data.SQLite.SQLiteCommand)">
+            <summary>
+            Constructs a data adapter using the specified select command.
+            </summary>
+            <param name="cmd">
+            The select command to associate with the adapter.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.Data.SQLite.SQLiteConnection)">
+            <summary>
+            Constructs a data adapter with the supplied select command text and
+            associated with the specified connection.
+            </summary>
+            <param name="commandText">
+            The select command text to associate with the data adapter.
+            </param>
+            <param name="connection">
+            The connection to associate with the select command.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String)">
+            <summary>
+            Constructs a data adapter with the specified select command text,
+            and using the specified database connection string.
+            </summary>
+            <param name="commandText">
+            The select command text to use to construct a select command.
+            </param>
+            <param name="connectionString">
+            A connection string suitable for passing to a new SQLiteConnection,
+            which is associated with the select command.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.#ctor(System.String,System.String,System.Boolean)">
+            <summary>
+            Constructs a data adapter with the specified select command text,
+            and using the specified database connection string.
+            </summary>
+            <param name="commandText">
+            The select command text to use to construct a select command.
+            </param>
+            <param name="connectionString">
+            A connection string suitable for passing to a new SQLiteConnection,
+            which is associated with the select command.
+            </param>
+            <param name="parseViaFramework">
+            Non-zero to parse the connection string using the built-in (i.e.
+            framework provided) parser when opening the connection.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.Dispose(System.Boolean)">
+            <summary>
+            Cleans up resources (native and managed) associated with the current instance.
+            </summary>
+            <param name="disposing">
+            Zero when being disposed via garbage collection; otherwise, non-zero.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdating(System.Data.Common.RowUpdatingEventArgs)">
+            <summary>
+            Raised by the underlying DbDataAdapter when a row is being updated
+            </summary>
+            <param name="value">The event's specifics</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataAdapter.OnRowUpdated(System.Data.Common.RowUpdatedEventArgs)">
+            <summary>
+            Raised by DbDataAdapter after a row is updated
+            </summary>
+            <param name="value">The event's specifics</param>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdating">
+            <summary>
+            Row updating event handler
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteDataAdapter.RowUpdated">
+            <summary>
+            Row updated event handler
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataAdapter.SelectCommand">
+            <summary>
+            Gets/sets the select command for this DataAdapter
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataAdapter.InsertCommand">
+            <summary>
+            Gets/sets the insert command for this DataAdapter
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataAdapter.UpdateCommand">
+            <summary>
+            Gets/sets the update command for this DataAdapter
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
+            <summary>
+            Gets/sets the delete command for this DataAdapter
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteDataReader">
+            <summary>
+            SQLite implementation of DbDataReader.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._command">
+            <summary>
+            Underlying command this reader is attached to
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._flags">
+            <summary>
+            The flags pertaining to the associated connection (via the command).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._activeStatementIndex">
+            <summary>
+            Index of the current statement in the command being processed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._activeStatement">
+            <summary>
+            Current statement being Read()
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._readingState">
+            <summary>
+            State of the current statement being processed.
+            -1 = First Step() executed, so the first Read() will be ignored
+             0 = Actively reading
+             1 = Finished reading
+             2 = Non-row-returning statement, no records
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._rowsAffected">
+            <summary>
+            Number of records affected by the insert/update statements executed on the command
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._fieldCount">
+            <summary>
+            Count of fields (columns) in the row-returning statement currently being processed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._stepCount">
+            <summary>
+            The number of calls to Step() that have returned true (i.e. the number of rows that
+            have been read in the current result set).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._fieldIndexes">
+            <summary>
+            Maps the field (column) names to their corresponding indexes within the results.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._fieldTypeArray">
+            <summary>
+            Datatypes of active fields (columns) in the current statement, used for type-restricting data
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._commandBehavior">
+            <summary>
+            The behavior of the datareader
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._disposeCommand">
+            <summary>
+            If set, then dispose of the command object when the reader is finished
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._throwOnDisposed">
+            <summary>
+            If set, then raise an exception when the object is accessed after being disposed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._keyInfo">
+            <summary>
+            An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._version">
+            <summary>
+            Matches the version of the connection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDataReader._baseSchemaName">
+            <summary>
+            The "stub" (i.e. placeholder) base schema name to use when returning
+            column schema information.  Matches the base schema name used by the
+            associated connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.#ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)">
+            <summary>
+            Internal constructor, initializes the datareader and sets up to begin executing statements
+            </summary>
+            <param name="cmd">The SQLiteCommand this data reader is for</param>
+            <param name="behave">The expected behavior of the data reader</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.Dispose(System.Boolean)">
+            <summary>
+            Dispose of all resources used by this datareader.
+            </summary>
+            <param name="disposing"></param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.Close">
+            <summary>
+            Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.CheckClosed">
+            <summary>
+            Throw an error if the datareader is closed
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.CheckValidRow">
+            <summary>
+            Throw an error if a row is not loaded
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetEnumerator">
+            <summary>
+            Enumerator support
+            </summary>
+            <returns>Returns a DbEnumerator object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.RefreshFlags">
+            <summary>
+            Forces the connection flags cached by this data reader to be refreshed
+            from the underlying connection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.VerifyForGet">
+            <summary>
+            This method is used to make sure the result set is open and a row is currently available.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.VerifyType(System.Int32,System.Data.DbType)">
+             <summary>
+             SQLite is inherently un-typed.  All datatypes in SQLite are natively strings.  The definition of the columns of a table
+             and the affinity of returned types are all we have to go on to type-restrict data in the reader.
+            
+             This function attempts to verify that the type of data being requested of a column matches the datatype of the column.  In
+             the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
+             to a set of known types that closely match that affinity.  It's not an exact science, but its the best we can do.
+             </summary>
+             <returns>
+             This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
+             </returns>
+             <param name="i">The index of the column to type-check</param>
+             <param name="typ">The type we want to get out of the column</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetBoolean(System.Int32)">
+            <summary>
+            Retrieves the column as a boolean value
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>bool</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetByte(System.Int32)">
+            <summary>
+            Retrieves the column as a single byte value
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>byte</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Retrieves a column as an array of bytes (blob)
+            </summary>
+            <param name="i">The index of the column.</param>
+            <param name="fieldOffset">The zero-based index of where to begin reading the data</param>
+            <param name="buffer">The buffer to write the bytes into</param>
+            <param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
+            <param name="length">The number of bytes to retrieve</param>
+            <returns>The actual number of bytes written into the array</returns>
+            <remarks>
+            To determine the number of bytes in the column, pass a null value for the buffer.  The total length will be returned.
+            </remarks>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetChar(System.Int32)">
+            <summary>
+            Returns the column as a single character
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>char</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Retrieves a column as an array of chars (blob)
+            </summary>
+            <param name="i">The index of the column.</param>
+            <param name="fieldoffset">The zero-based index of where to begin reading the data</param>
+            <param name="buffer">The buffer to write the characters into</param>
+            <param name="bufferoffset">The zero-based index of where to begin writing into the array</param>
+            <param name="length">The number of bytes to retrieve</param>
+            <returns>The actual number of characters written into the array</returns>
+            <remarks>
+            To determine the number of characters in the column, pass a null value for the buffer.  The total length will be returned.
+            </remarks>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetDataTypeName(System.Int32)">
+            <summary>
+            Retrieves the name of the back-end datatype of the column
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>string</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetDateTime(System.Int32)">
+            <summary>
+            Retrieve the column as a date/time value
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>DateTime</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetDecimal(System.Int32)">
+            <summary>
+            Retrieve the column as a decimal value
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>decimal</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetDouble(System.Int32)">
+            <summary>
+            Returns the column as a double
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>double</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetFieldType(System.Int32)">
+            <summary>
+            Returns the .NET type of a given column
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>Type</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetFloat(System.Int32)">
+            <summary>
+            Returns a column as a float value
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>float</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetGuid(System.Int32)">
+            <summary>
+            Returns the column as a Guid
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>Guid</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetInt16(System.Int32)">
+            <summary>
+            Returns the column as a short
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>Int16</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetInt32(System.Int32)">
+            <summary>
+            Retrieves the column as an int
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>Int32</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetInt64(System.Int32)">
+            <summary>
+            Retrieves the column as a long
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>Int64</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetName(System.Int32)">
+            <summary>
+            Retrieves the name of the column
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>string</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetDatabaseName(System.Int32)">
+            <summary>
+            Returns the name of the database associated with the specified column.
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>string</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetTableName(System.Int32)">
+            <summary>
+            Returns the name of the table associated with the specified column.
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>string</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetOriginalName(System.Int32)">
+            <summary>
+            Returns the original name of the specified column.
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>string</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetOrdinal(System.String)">
+            <summary>
+            Retrieves the i of a column, given its name
+            </summary>
+            <param name="name">The name of the column to retrieve</param>
+            <returns>The int i of the column</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetSchemaTable">
+            <summary>
+            Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
+            to gather the necessary information so it can be represented in an ADO.NET manner.
+            </summary>
+            <returns>Returns a DataTable containing the schema information for the active SELECT statement being processed.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetString(System.Int32)">
+            <summary>
+            Retrieves the column as a string
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>string</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetValue(System.Int32)">
+            <summary>
+            Retrieves the column as an object corresponding to the underlying datatype of the column
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetValues(System.Object[])">
+            <summary>
+            Retreives the values of multiple columns, up to the size of the supplied array
+            </summary>
+            <param name="values">The array to fill with values from the columns in the current resultset</param>
+            <returns>The number of columns retrieved</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetValues">
+            <summary>
+            Returns a collection containing all the column names and values for the
+            current row of data in the current resultset, if any.  If there is no
+            current row or no current resultset, an exception may be thrown.
+            </summary>
+            <returns>
+            The collection containing the column name and value information for the
+            current row of data in the current resultset or null if this information
+            cannot be obtained.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.IsDBNull(System.Int32)">
+            <summary>
+            Returns True if the specified column is null
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>True or False</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.NextResult">
+            <summary>
+            Moves to the next resultset in multiple row-returning SQL command.
+            </summary>
+            <returns>True if the command was successful and a new resultset is available, False otherwise.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetConnection(System.Data.SQLite.SQLiteDataReader)">
+            <summary>
+            This method attempts to query the database connection associated with
+            the data reader in use.  If the underlying command or connection is
+            unavailable, a null value will be returned.
+            </summary>
+            <returns>
+            The connection object -OR- null if it is unavailable.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteType,System.String)">
+            <summary>
+            Retrieves the SQLiteType for a given column and row value.
+            </summary>
+            <param name="oldType">
+            The original SQLiteType structure, based only on the column.
+            </param>
+            <param name="text">
+            The textual value of the column for a given row.
+            </param>
+            <returns>
+            The SQLiteType structure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.GetSQLiteType(System.Data.SQLite.SQLiteConnectionFlags,System.Int32)">
+            <summary>
+            Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
+            </summary>
+            <param name="flags">The flags associated with the parent connection object.</param>
+            <param name="i">The index of the column.</param>
+            <returns>A SQLiteType structure</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDataReader.Read">
+            <summary>
+            Reads the next row from the resultset
+            </summary>
+            <returns>True if a new row was successfully loaded and is ready for processing</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.Depth">
+            <summary>
+            Not implemented.  Returns 0
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.FieldCount">
+            <summary>
+            Returns the number of columns in the current resultset
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.StepCount">
+            <summary>
+            Returns the number of rows seen so far in the current result set.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.VisibleFieldCount">
+            <summary>
+            Returns the number of visible fields in the current resultset
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.HasRows">
+            <summary>
+            Returns True if the resultset has rows that can be fetched
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.IsClosed">
+            <summary>
+            Returns True if the data reader is closed
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.RecordsAffected">
+            <summary>
+            Returns the number of rows affected by the statement being executed.
+            The value returned may not be accurate for DDL statements.  Also, it
+            will be -1 for any statement that does not modify the database (e.g.
+            SELECT).  If an otherwise read-only statement modifies the database
+            indirectly (e.g. via a virtual table or user-defined function), the
+            value returned is undefined.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.String)">
+            <summary>
+            Indexer to retrieve data from a column given its name
+            </summary>
+            <param name="name">The name of the column to retrieve data for</param>
+            <returns>The value contained in the column</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDataReader.Item(System.Int32)">
+            <summary>
+            Indexer to retrieve data from a column given its i
+            </summary>
+            <param name="i">The index of the column.</param>
+            <returns>The value contained in the column</returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteException">
+            <summary>
+            SQLite exception class.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Private constructor for use with serialization.
+            </summary>
+            <param name="info">
+            Holds the serialized object data about the exception being thrown.
+            </param>
+            <param name="context">
+            Contains contextual information about the source or destination.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.#ctor(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            <summary>
+            Public constructor for generating a SQLite exception given the error
+            code and message.
+            </summary>
+            <param name="errorCode">
+            The SQLite return code to report.
+            </param>
+            <param name="message">
+            Message text to go along with the return code message text.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String)">
+            <summary>
+            Public constructor that uses the base class constructor for the error
+            message.
+            </summary>
+            <param name="message">Error message text.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.#ctor">
+            <summary>
+            Public constructor that uses the default base class constructor.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.#ctor(System.String,System.Exception)">
+            <summary>
+            Public constructor that uses the base class constructor for the error
+            message and inner exception.
+            </summary>
+            <param name="message">Error message text.</param>
+            <param name="innerException">The original (inner) exception.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Adds extra information to the serialized object data specific to this
+            class type.  This is only used for serialization.
+            </summary>
+            <param name="info">
+            Holds the serialized object data about the exception being thrown.
+            </param>
+            <param name="context">
+            Contains contextual information about the source or destination.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.GetErrorString(System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Returns the error message for the specified SQLite return code.
+            </summary>
+            <param name="errorCode">The SQLite return code.</param>
+            <returns>The error message or null if it cannot be found.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteException.GetStockErrorMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            <summary>
+            Returns the composite error message based on the SQLite return code
+            and the optional detailed error message.
+            </summary>
+            <param name="errorCode">The SQLite return code.</param>
+            <param name="message">Optional detailed error message.</param>
+            <returns>Error message text for the return code.</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteException.ResultCode">
+            <summary>
+            Gets the associated SQLite result code for this exception as a
+            <see cref="T:system.Data.SQLite.SQLiteErrorCode"/>.  This property returns the same
+            underlying value as the <see cref="P:system.Data.SQLite.SQLiteException.ErrorCode"/> property.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteException.ErrorCode">
+            <summary>
+            Gets the associated SQLite return code for this exception as an
+            <see cref="T:System.Int32"/>.  For desktop versions of the .NET Framework,
+            this property overrides the property of the same name within the
+            <see cref="T:System.Runtime.InteropServices.ExternalException"/>
+            class.  This property returns the same underlying value as the
+            <see cref="P:system.Data.SQLite.SQLiteException.ResultCode"/> property.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteErrorCode">
+            <summary>
+            SQLite error codes.  Actually, this enumeration represents a return code,
+            which may also indicate success in one of several ways (e.g. SQLITE_OK,
+            SQLITE_ROW, and SQLITE_DONE).  Therefore, the name of this enumeration is
+            something of a misnomer.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Unknown">
+            <summary>
+            The error code is unknown.  This error code
+            is only used by the managed wrapper itself.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Ok">
+            <summary>
+            Successful result
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Error">
+            <summary>
+            SQL error or missing database
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Internal">
+            <summary>
+            Internal logic error in SQLite
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Perm">
+            <summary>
+            Access permission denied
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Abort">
+            <summary>
+            Callback routine requested an abort
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Busy">
+            <summary>
+            The database file is locked
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Locked">
+            <summary>
+            A table in the database is locked
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.NoMem">
+            <summary>
+            A malloc() failed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly">
+            <summary>
+            Attempt to write a readonly database
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Interrupt">
+            <summary>
+            Operation terminated by sqlite3_interrupt()
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr">
+            <summary>
+            Some kind of disk I/O error occurred
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt">
+            <summary>
+            The database disk image is malformed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.NotFound">
+            <summary>
+            Unknown opcode in sqlite3_file_control()
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Full">
+            <summary>
+            Insertion failed because database is full
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen">
+            <summary>
+            Unable to open the database file
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Protocol">
+            <summary>
+            Database lock protocol error
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Empty">
+            <summary>
+            Database is empty
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Schema">
+            <summary>
+            The database schema changed
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.TooBig">
+            <summary>
+            String or BLOB exceeds size limit
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint">
+            <summary>
+            Abort due to constraint violation
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Mismatch">
+            <summary>
+            Data type mismatch
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Misuse">
+            <summary>
+            Library used incorrectly
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.NoLfs">
+            <summary>
+            Uses OS features not supported on host
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Auth">
+            <summary>
+            Authorization denied
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Format">
+            <summary>
+            Auxiliary database format error
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Range">
+            <summary>
+            2nd parameter to sqlite3_bind out of range
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.NotADb">
+            <summary>
+            File opened that is not a database file
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Notice">
+            <summary>
+            Notifications from sqlite3_log()
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Warning">
+            <summary>
+            Warnings from sqlite3_log()
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Row">
+            <summary>
+            sqlite3_step() has another row ready
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Done">
+            <summary>
+            sqlite3_step() has finished executing
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.NonExtendedMask">
+            <summary>
+            Used to mask off extended result codes
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Read">
+            <summary>
+            A file read operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Short_Read">
+            <summary>
+            A file read operation returned less data than requested.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Write">
+            <summary>
+            A file write operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fsync">
+            <summary>
+            A file synchronization operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Fsync">
+            <summary>
+            A directory synchronization operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Truncate">
+            <summary>
+            A file truncate operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Fstat">
+            <summary>
+            A file metadata operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Unlock">
+            <summary>
+            A file unlock operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_RdLock">
+            <summary>
+            A file lock operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete">
+            <summary>
+            A file delete operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Blocked">
+            <summary>
+            Not currently used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_NoMem">
+            <summary>
+            Out-of-memory during a file operation.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Access">
+            <summary>
+            A file existence/status operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_CheckReservedLock">
+            <summary>
+            A check for a reserved lock failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Lock">
+            <summary>
+            A file lock operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Close">
+            <summary>
+            A file close operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Dir_Close">
+            <summary>
+            A directory close operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmOpen">
+            <summary>
+            A shared memory open operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmSize">
+            <summary>
+            A shared memory size operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmLock">
+            <summary>
+            A shared memory lock operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ShmMap">
+            <summary>
+            A shared memory map operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Seek">
+            <summary>
+            A file seek operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Delete_NoEnt">
+            <summary>
+            A file delete operation failed because it does not exist.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Mmap">
+            <summary>
+            A file memory mapping operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_GetTempPath">
+            <summary>
+            The temporary directory path could not be obtained.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_ConvPath">
+            <summary>
+            A path string conversion operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_VNode">
+            <summary>
+            Reserved.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.IoErr_Auth">
+            <summary>
+            An attempt to authenticate failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Locked_SharedCache">
+            <summary>
+            A database table is locked in shared-cache mode.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Recovery">
+            <summary>
+            A database file is locked due to a recovery operation.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Busy_Snapshot">
+            <summary>
+            A database file is locked due to snapshot semantics.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_NoTempDir">
+            <summary>
+            A database file cannot be opened because no temporary directory is available.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_IsDir">
+            <summary>
+            A database file cannot be opened because its path represents a directory.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_FullPath">
+            <summary>
+            A database file cannot be opened because its full path could not be obtained.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.CantOpen_ConvPath">
+            <summary>
+            A database file cannot be opened because a path string conversion operation failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Corrupt_Vtab">
+            <summary>
+            A virtual table is malformed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Recovery">
+            <summary>
+            A database file is read-only due to a recovery operation.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_CantLock">
+            <summary>
+            A database file is read-only because a lock could not be obtained.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_Rollback">
+            <summary>
+            A database file is read-only because it needs rollback processing.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.ReadOnly_DbMoved">
+            <summary>
+            A database file is read-only because it was moved while open.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Abort_Rollback">
+            <summary>
+            An operation is being aborted due to rollback processing.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Check">
+            <summary>
+            A CHECK constraint failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_CommitHook">
+            <summary>
+            A commit hook produced a unsuccessful return code.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_ForeignKey">
+            <summary>
+            A FOREIGN KEY constraint failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Function">
+            <summary>
+            Not currently used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_NotNull">
+            <summary>
+            A NOT NULL constraint failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_PrimaryKey">
+            <summary>
+            A PRIMARY KEY constraint failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Trigger">
+            <summary>
+            The RAISE function was used by a trigger-program.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Unique">
+            <summary>
+            A UNIQUE constraint failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_Vtab">
+            <summary>
+            Not currently used.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Constraint_RowId">
+            <summary>
+            A ROWID constraint failed.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Wal">
+            <summary>
+            Frames were recovered from the WAL log file.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Notice_Recover_Rollback">
+            <summary>
+            Pages were recovered from the journal file.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Warning_AutoIndex">
+            <summary>
+            An automatic index was created to process a query.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteErrorCode.Auth_User">
+            <summary>
+            User authentication failed.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteFactory">
+            <summary>
+            SQLite implementation of <see cref="T:System.Data.Common.DbProviderFactory"/>.
+            </summary>
+            <summary>
+            SQLite implementation of <see cref="T:System.IServiceProvider"/>.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.#ctor">
+            <summary>
+            Constructs a new instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.Dispose">
+            <summary>
+            Cleans up resources (native and managed) associated with the current instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.Finalize">
+            <summary>
+            Cleans up resources associated with the current instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFactory.Instance">
+            <summary>
+            Static instance member which returns an instanced <see cref="T:system.Data.SQLite.SQLiteFactory"/> class.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.CreateCommand">
+            <summary>
+            Creates and returns a new <see cref="T:system.Data.SQLite.SQLiteCommand"/> object.
+            </summary>
+            <returns>The new object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.CreateCommandBuilder">
+            <summary>
+            Creates and returns a new <see cref="T:system.Data.SQLite.SQLiteCommandBuilder"/> object.
+            </summary>
+            <returns>The new object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.CreateConnection">
+            <summary>
+            Creates and returns a new <see cref="T:system.Data.SQLite.SQLiteConnection"/> object.
+            </summary>
+            <returns>The new object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.CreateConnectionStringBuilder">
+            <summary>
+            Creates and returns a new <see cref="T:system.Data.SQLite.SQLiteConnectionStringBuilder"/> object.
+            </summary>
+            <returns>The new object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.CreateDataAdapter">
+            <summary>
+            Creates and returns a new <see cref="T:system.Data.SQLite.SQLiteDataAdapter"/> object.
+            </summary>
+            <returns>The new object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.CreateParameter">
+            <summary>
+            Creates and returns a new <see cref="T:system.Data.SQLite.SQLiteParameter"/> object.
+            </summary>
+            <returns>The new object.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFactory.System#IServiceProvider#GetService(System.Type)">
+            <summary>
+            Will provide a <see cref="T:System.IServiceProvider"/> object in .NET 3.5.
+            </summary>
+            <param name="serviceType">The class or interface type to query for.</param>
+            <returns></returns>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteFactory.Log">
+            <summary>
+            This event is raised whenever SQLite raises a logging event.
+            Note that this should be set as one of the first things in the
+            application.  This event is provided for backward compatibility only.
+            New code should use the <see cref="T:system.Data.SQLite.SQLiteLog"/> class instead.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteFunction">
+             <summary>
+             This abstract class is designed to handle user-defined functions easily.  An instance of the derived class is made for each
+             connection to the database.
+             </summary>
+             <remarks>
+             Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
+             to the underlying connection.  This is necessary to deter implementers from thinking it would be a good idea to make database
+             calls during processing.
+            
+             It is important to distinguish between a per-connection instance, and a per-SQL statement context.  One instance of this class
+             services all SQL statements being stepped through on that connection, and there can be many.  One should never store per-statement
+             information in member variables of user-defined function classes.
+            
+             For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step.  This data will
+             be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
+             </remarks>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._base">
+            <summary>
+            The base connection this function is attached to
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
+            <summary>
+            Internal array used to keep track of aggregate function context data
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._flags">
+            <summary>
+            The connection flags associated with this object (this should be the
+            same value as the flags associated with the parent connection object).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
+            <summary>
+            Holds a reference to the callback function for user functions
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._StepFunc">
+            <summary>
+            Holds a reference to the callbakc function for stepping in an aggregate function
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._FinalFunc">
+            <summary>
+            Holds a reference to the callback function for finalizing an aggregate function
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
+            <summary>
+            Holds a reference to the callback function for collating sequences
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._context">
+            <summary>
+            Current context of the current callback.  Only valid during a callback
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
+            <summary>
+            This static dictionary contains all the registered (known) user-defined
+            functions declared using the proper attributes.  The contained dictionary
+            values are always null and are not currently used.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
+            <summary>
+            Internal constructor, initializes the function's internal variables.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.#ctor(System.Data.SQLite.SQLiteDateFormats,System.DateTimeKind,System.String,System.Boolean)">
+            <summary>
+            Constructs an instance of this class using the specified data-type
+            conversion parameters.
+            </summary>
+            <param name="format">
+            The DateTime format to be used when converting string values to a
+            DateTime and binding DateTime parameters.
+            </param>
+            <param name="kind">
+            The <see cref="T:System.DateTimeKind"/> to be used when creating DateTime
+            values.
+            </param>
+            <param name="formatString">
+            The format string to be used when parsing and formatting DateTime
+            values.
+            </param>
+            <param name="utf16">
+            Non-zero to create a UTF-16 data-type conversion context; otherwise,
+            a UTF-8 data-type conversion context will be created.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Dispose">
+            <summary>
+            Disposes of any active contextData variables that were not automatically cleaned up.  Sometimes this can happen if
+            someone closes the connection while a DataReader is open.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
+            <summary>
+            Placeholder for a user-defined disposal routine
+            </summary>
+            <param name="disposing">True if the object is being disposed explicitly</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Finalize">
+            <summary>
+            Cleans up resources associated with the current instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Invoke(System.Object[])">
+            <summary>
+            Scalar functions override this method to do their magic.
+            </summary>
+            <remarks>
+            Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
+            to force them into a certain type.  Therefore the only types you will ever see as parameters are
+            DBNull.Value, Int64, Double, String or byte[] array.
+            </remarks>
+            <param name="args">The arguments for the command to process</param>
+            <returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
+            you may return an Exception-derived class if you wish to return an error to SQLite.  Do not actually throw the error,
+            just return it!</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)">
+            <summary>
+            Aggregate functions override this method to do their magic.
+            </summary>
+            <remarks>
+            Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
+            </remarks>
+            <param name="args">The arguments for the command to process</param>
+            <param name="stepNumber">The 1-based step number.  This is incrememted each time the step method is called.</param>
+            <param name="contextData">A placeholder for implementers to store contextual data pertaining to the current context.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Final(System.Object)">
+            <summary>
+            Aggregate functions override this method to finish their aggregate processing.
+            </summary>
+            <remarks>
+            If you implemented your aggregate function properly,
+            you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
+            all the information you need in there to figure out what to return.
+            NOTE:  It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
+            be null.  This can happen when no rows were returned.  You can either return null, or 0 or some other custom return value
+            if that is the case.
+            </remarks>
+            <param name="contextData">Your own assigned contextData, provided for you so you can return your final results.</param>
+            <returns>You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or
+            you may return an Exception-derived class if you wish to return an error to SQLite.  Do not actually throw the error,
+            just return it!
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)">
+            <summary>
+            User-defined collating sequences override this method to provide a custom string sorting algorithm.
+            </summary>
+            <param name="param1">The first string to compare.</param>
+            <param name="param2">The second strnig to compare.</param>
+            <returns>1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.ConvertParams(System.Int32,System.IntPtr)">
+            <summary>
+            Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
+            </summary>
+            <remarks>
+            Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
+            to force them into a certain type.  Therefore the only types you will ever see as parameters are
+            DBNull.Value, Int64, Double, String or byte[] array.
+            </remarks>
+            <param name="nArgs">The number of arguments</param>
+            <param name="argsptr">A pointer to the array of arguments</param>
+            <returns>An object array of the arguments once they've been converted to .NET values</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.SetReturnValue(System.IntPtr,System.Object)">
+            <summary>
+            Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
+            </summary>
+            <param name="context">The context the return value applies to</param>
+            <param name="returnValue">The parameter to return to SQLite</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.ScalarCallback(System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
+            WARNING: Must not throw exceptions.
+            </summary>
+            <param name="context">A raw context pointer</param>
+            <param name="nArgs">Number of arguments passed in</param>
+            <param name="argsptr">A pointer to the array of arguments</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
+            WARNING: Must not throw exceptions.
+            </summary>
+            <param name="ptr">Not used</param>
+            <param name="len1">Length of the string pv1</param>
+            <param name="ptr1">Pointer to the first string to compare</param>
+            <param name="len2">Length of the string pv2</param>
+            <param name="ptr2">Pointer to the second string to compare</param>
+            <returns>Returns -1 if the first string is less than the second.  0 if they are equal, or 1 if the first string is greater
+            than the second.  Returns 0 if an exception is caught.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback16(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
+            WARNING: Must not throw exceptions.
+            </summary>
+            <param name="ptr">Not used</param>
+            <param name="len1">Length of the string pv1</param>
+            <param name="ptr1">Pointer to the first string to compare</param>
+            <param name="len2">Length of the string pv2</param>
+            <param name="ptr2">Pointer to the second string to compare</param>
+            <returns>Returns -1 if the first string is less than the second.  0 if they are equal, or 1 if the first string is greater
+            than the second.  Returns 0 if an exception is caught.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.StepCallback(System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
+            WARNING: Must not throw exceptions.
+            </summary>
+            <remarks>
+            This function takes care of doing the lookups and getting the important information put together to call the Step() function.
+            That includes pulling out the user's contextData and updating it after the call is made.  We use a sorted list for this so
+            binary searches can be done to find the data.
+            </remarks>
+            <param name="context">A raw context pointer</param>
+            <param name="nArgs">Number of arguments passed in</param>
+            <param name="argsptr">A pointer to the array of arguments</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
+            <summary>
+            An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
+            WARNING: Must not throw exceptions.
+            </summary>
+            <param name="context">A raw context pointer</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.#cctor">
+            <summary>
+            Using reflection, enumerate all assemblies in the current appdomain looking for classes that
+            have a SQLiteFunctionAttribute attribute, and registering them accordingly.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.Type)">
+            <summary>
+            Manual method of registering a function.  The type must still have the SQLiteFunctionAttributes in order to work
+            properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
+            </summary>
+            <param name="typ">The type of the function to register</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.RegisterFunction(System.String,System.Int32,System.Data.SQLite.FunctionType,System.Type,System.Delegate,System.Delegate)">
+            <summary>
+            Alternative method of registering a function.  This method
+            does not require the specified type to be annotated with
+            <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/>.
+            </summary>
+            <param name="name">
+            The name of the function to register.
+            </param>
+            <param name="argumentCount">
+            The number of arguments accepted by the function.
+            </param>
+            <param name="functionType">
+            The type of SQLite function being resitered (e.g. scalar,
+            aggregate, or collating sequence).
+            </param>
+            <param name="instanceType">
+            The <see cref="T:System.Type"/> that actually implements the function.
+            This will only be used if the <paramref name="callback1"/>
+            and <paramref name="callback2"/> parameters are null.
+            </param>
+            <param name="callback1">
+            The <see cref="T:System.Delegate"/> to be used for all calls into the
+            <see cref="M:system.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/>,
+            <see cref="M:system.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/>,
+            and <see cref="M:system.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> virtual methods.
+            </param>
+            <param name="callback2">
+            The <see cref="T:System.Delegate"/> to be used for all calls into the
+            <see cref="M:system.Data.SQLite.SQLiteFunction.Final(System.Object)"/> virtual method.  This
+            parameter is only necessary for aggregate functions.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.ReplaceFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Object)">
+            <summary>
+            Replaces a registered function, disposing of the associated (old)
+            value if necessary.
+            </summary>
+            <param name="at">
+            The attribute that describes the function to replace.
+            </param>
+            <param name="newValue">
+            The new value to use.
+            </param>
+            <returns>
+            Non-zero if an existing registered function was replaced; otherwise,
+            zero.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.CreateFunction(System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction@)">
+            <summary>
+            Creates a <see cref="T:system.Data.SQLite.SQLiteFunction"/> instance based on the specified
+            <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/>.
+            </summary>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> containing the metadata about
+            the function to create.
+            </param>
+            <param name="function">
+            The created function -OR- null if the function could not be created.
+            </param>
+            <returns>
+            Non-zero if the function was created; otherwise, zero.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection.
+            It is done this way so that all user-defined functions will access the database using the same encoding scheme
+            as the connection (UTF-8 or UTF-16).
+            </summary>
+            <remarks>
+            The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
+            all the wrapped callback functions.  The interop function uses it to map CDecl callbacks to StdCall callbacks.
+            </remarks>
+            <param name="sqlbase">The base object on which the functions are to bind.</param>
+            <param name="flags">The flags associated with the parent connection object.</param>
+            <returns>Returns a logical list of functions which the connection should retain until it is closed.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.UnbindAllFunctions(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Boolean)">
+            <summary>
+            Called by the SQLiteBase derived classes, this method unbinds all registered (known)
+            functions -OR- all previously bound user-defined functions from a connection.
+            </summary>
+            <param name="sqlbase">The base object from which the functions are to be unbound.</param>
+            <param name="flags">The flags associated with the parent connection object.</param>
+            <param name="registered">
+            Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions
+            currently bound to the connection.
+            </param>
+            <returns>Non-zero if all the specified user-defined functions were unbound.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.BindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            This function binds a user-defined function to a connection.
+            </summary>
+            <param name="sqliteBase">
+            The <see cref="T:system.Data.SQLite.SQLiteBase"/> object instance associated with the
+            <see cref="T:system.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
+            </param>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be bound.
+            </param>
+            <param name="function">
+            The <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance that implements the
+            function to be bound.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunction.UnbindFunction(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteFunctionAttribute,System.Data.SQLite.SQLiteFunction,System.Data.SQLite.SQLiteConnectionFlags)">
+            <summary>
+            This function unbinds a user-defined functions from a connection.
+            </summary>
+            <param name="sqliteBase">
+            The <see cref="T:system.Data.SQLite.SQLiteBase"/> object instance associated with the
+            <see cref="T:system.Data.SQLite.SQLiteConnection"/> that the function should be bound to.
+            </param>
+            <param name="functionAttribute">
+            The <see cref="T:system.Data.SQLite.SQLiteFunctionAttribute"/> object instance containing
+            the metadata for the function to be bound.
+            </param>
+            <param name="function">
+            The <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance that implements the
+            function to be bound.
+            </param>
+            <param name="flags">
+            The flags associated with the parent connection object.
+            </param>
+            <returns>Non-zero if the function was unbound.</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
+            <summary>
+            Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
+            strings and DateTime's into the current connection's encoding schema.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteInvokeDelegate">
+            <summary>
+            This <see cref="T:System.Delegate"/> type is used with the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
+            </summary>
+            <param name="param0">
+            This is always the string literal "Invoke".
+            </param>
+            <param name="args">
+            The arguments for the scalar function.
+            </param>
+            <returns>
+            The result of the scalar function.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteStepDelegate">
+            <summary>
+            This <see cref="T:System.Delegate"/> type is used with the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
+            </summary>
+            <param name="param0">
+            This is always the string literal "Step".
+            </param>
+            <param name="args">
+            The arguments for the aggregate function.
+            </param>
+            <param name="stepNumber">
+            The step number (one based).  This is incrememted each time the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
+            </param>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteFinalDelegate">
+            <summary>
+            This <see cref="T:System.Delegate"/> type is used with the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method.
+            </summary>
+            <param name="param0">
+            This is always the string literal "Final".
+            </param>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+            <returns>
+            The result of the aggregate function.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteCompareDelegate">
+            <summary>
+            This <see cref="T:System.Delegate"/> type is used with the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method.
+            </summary>
+            <param name="param0">
+            This is always the string literal "Compare".
+            </param>
+            <param name="param1">
+            The first string to compare.
+            </param>
+            <param name="param2">
+            The second strnig to compare.
+            </param>
+            <returns>
+            A positive integer if the <paramref name="param1"/> parameter is
+            greater than the <paramref name="param2"/> parameter, a negative
+            integer if the <paramref name="param1"/> parameter is less than
+            the <paramref name="param2"/> parameter, or zero if they are
+            equal.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteDelegateFunction">
+            <summary>
+            This class implements a SQLite function using a <see cref="T:System.Delegate"/>.
+            All the virtual methods of the <see cref="T:system.Data.SQLite.SQLiteFunction"/> class are
+            implemented using calls to the <see cref="T:system.Data.SQLite.SQLiteInvokeDelegate"/>,
+            <see cref="T:system.Data.SQLite.SQLiteStepDelegate"/>, <see cref="T:system.Data.SQLite.SQLiteFinalDelegate"/>,
+            and <see cref="T:system.Data.SQLite.SQLiteCompareDelegate"/> strongly typed delegate types
+            or via the <see cref="M:System.Delegate.DynamicInvoke(System.Object[])"/> method.
+            The arguments are presented in the same order they appear in
+            the associated <see cref="T:system.Data.SQLite.SQLiteFunction"/> methods with one exception:
+            the first argument is the name of the virtual method being implemented.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDelegateFunction.NoCallbackError">
+            <summary>
+            This error message is used by the overridden virtual methods when
+            a required <see cref="T:System.Delegate"/> property (e.g.
+            <see cref="P:system.Data.SQLite.SQLiteDelegateFunction.Callback1"/> or <see cref="P:system.Data.SQLite.SQLiteDelegateFunction.Callback2"/>) has not been
+            set.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteDelegateFunction.ResultInt32Error">
+            <summary>
+            This error message is used by the overridden <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/>
+            method when the result does not have a type of <see cref="T:System.Int32"/>.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor">
+            <summary>
+            Constructs an empty instance of this class.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.#ctor(System.Delegate,System.Delegate)">
+            <summary>
+            Constructs an instance of this class using the specified
+            <see cref="T:System.Delegate"/> as the <see cref="T:system.Data.SQLite.SQLiteFunction"/>
+            implementation.
+            </summary>
+            <param name="callback1">
+            The <see cref="T:System.Delegate"/> to be used for all calls into the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> base class.
+            </param>
+            <param name="callback2">
+            The <see cref="T:System.Delegate"/> to be used for all calls into the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> base class.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetInvokeArgs(System.Object[],System.Boolean)">
+            <summary>
+            Returns the list of arguments for the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method,
+            as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>.  The first
+            argument is always the literal string "Invoke".
+            </summary>
+            <param name="args">
+            The original arguments received by the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/> method.
+            </param>
+            <param name="earlyBound">
+            Non-zero if the returned arguments are going to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteInvokeDelegate"/> type; otherwise, zero.
+            </param>
+            <returns>
+            The arguments to pass to the configured <see cref="T:System.Delegate"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetStepArgs(System.Object[],System.Int32,System.Object,System.Boolean)">
+            <summary>
+            Returns the list of arguments for the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
+            as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>.  The first
+            argument is always the literal string "Step".
+            </summary>
+            <param name="args">
+            The original arguments received by the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
+            </param>
+            <param name="stepNumber">
+            The step number (one based).  This is incrememted each time the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
+            </param>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+            <param name="earlyBound">
+            Non-zero if the returned arguments are going to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
+            </param>
+            <returns>
+            The arguments to pass to the configured <see cref="T:System.Delegate"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.UpdateStepArgs(System.Object[],System.Object@,System.Boolean)">
+            <summary>
+            Updates the output arguments for the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method,
+            using an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>.  The first
+            argument is always the literal string "Step".  Currently, only the
+            <paramref name="contextData"/> parameter is updated.
+            </summary>
+            <param name="args">
+            The original arguments received by the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method.
+            </param>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+            <param name="earlyBound">
+            Non-zero if the returned arguments are going to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteStepDelegate"/> type; otherwise, zero.
+            </param>
+            <returns>
+            The arguments to pass to the configured <see cref="T:System.Delegate"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetFinalArgs(System.Object,System.Boolean)">
+            <summary>
+            Returns the list of arguments for the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> method,
+            as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>.  The first
+            argument is always the literal string "Final".
+            </summary>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+            <param name="earlyBound">
+            Non-zero if the returned arguments are going to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteFinalDelegate"/> type; otherwise, zero.
+            </param>
+            <returns>
+            The arguments to pass to the configured <see cref="T:System.Delegate"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.GetCompareArgs(System.String,System.String,System.Boolean)">
+            <summary>
+            Returns the list of arguments for the <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> method,
+            as an <see cref="T:System.Array"/> of <see cref="T:System.Object"/>.  The first
+            argument is always the literal string "Compare".
+            </summary>
+            <param name="param1">
+            The first string to compare.
+            </param>
+            <param name="param2">
+            The second strnig to compare.
+            </param>
+            <param name="earlyBound">
+            Non-zero if the returned arguments are going to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteCompareDelegate"/> type; otherwise, zero.
+            </param>
+            <returns>
+            The arguments to pass to the configured <see cref="T:System.Delegate"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])">
+            <summary>
+            This virtual method is the implementation for scalar functions.
+            See the <see cref="M:system.Data.SQLite.SQLiteFunction.Invoke(System.Object[])"/> method for more
+            details.
+            </summary>
+            <param name="args">
+            The arguments for the scalar function.
+            </param>
+            <returns>
+            The result of the scalar function.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)">
+            <summary>
+            This virtual method is part of the implementation for aggregate
+            functions.  See the <see cref="M:system.Data.SQLite.SQLiteFunction.Step(System.Object[],System.Int32,System.Object@)"/> method
+            for more details.
+            </summary>
+            <param name="args">
+            The arguments for the aggregate function.
+            </param>
+            <param name="stepNumber">
+            The step number (one based).  This is incrememted each time the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/> method is called.
+            </param>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)">
+            <summary>
+            This virtual method is part of the implementation for aggregate
+            functions.  See the <see cref="M:system.Data.SQLite.SQLiteFunction.Final(System.Object)"/> method
+            for more details.
+            </summary>
+            <param name="contextData">
+            A placeholder for implementers to store contextual data pertaining
+            to the current context.
+            </param>
+            <returns>
+            The result of the aggregate function.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)">
+            <summary>
+            This virtual method is part of the implementation for collating
+            sequences.  See the <see cref="M:system.Data.SQLite.SQLiteFunction.Compare(System.String,System.String)"/> method
+            for more details.
+            </summary>
+            <param name="param1">
+            The first string to compare.
+            </param>
+            <param name="param2">
+            The second strnig to compare.
+            </param>
+            <returns>
+            A positive integer if the <paramref name="param1"/> parameter is
+            greater than the <paramref name="param2"/> parameter, a negative
+            integer if the <paramref name="param1"/> parameter is less than
+            the <paramref name="param2"/> parameter, or zero if they are
+            equal.
+            </returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback1">
+            <summary>
+            The <see cref="T:System.Delegate"/> to be used for all calls into the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Invoke(System.Object[])"/>, <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Step(System.Object[],System.Int32,System.Object@)"/>, and
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Compare(System.String,System.String)"/> virtual methods needed by the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> base class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteDelegateFunction.Callback2">
+            <summary>
+            The <see cref="T:System.Delegate"/> to be used for all calls into the
+            <see cref="M:system.Data.SQLite.SQLiteDelegateFunction.Final(System.Object)"/> virtual methods needed by the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> base class.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteFunctionEx">
+            <summary>
+            Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
+            </summary>
+            <remarks>
+            User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
+            </remarks>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
+            <summary>
+            Obtains the collating sequence in effect for the given function.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunctionEx.Dispose(System.Boolean)">
+            <summary>
+            Cleans up resources (native and managed) associated with the current instance.
+            </summary>
+            <param name="disposing">
+            Zero when being disposed via garbage collection; otherwise, non-zero.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.FunctionType">
+            <summary>
+            The type of user-defined function to declare
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.FunctionType.Scalar">
+            <summary>
+            Scalar functions are designed to be called and return a result immediately.  Examples include ABS(), Upper(), Lower(), etc.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.FunctionType.Aggregate">
+            <summary>
+            Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
+            Examples include SUM(), COUNT(), AVG(), etc.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.FunctionType.Collation">
+            <summary>
+            Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause.  Typically text in an ORDER BY is
+            sorted using a straight case-insensitive comparison function.  Custom collating sequences can be used to alter the behavior of text sorting
+            in a user-defined manner.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteCallback">
+            <summary>
+            An internal callback delegate declaration.
+            </summary>
+            <param name="context">Raw native context pointer for the user function.</param>
+            <param name="argc">Total number of arguments to the user function.</param>
+            <param name="argv">Raw native pointer to the array of raw native argument pointers.</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteFinalCallback">
+            <summary>
+            An internal final callback delegate declaration.
+            </summary>
+            <param name="context">Raw context pointer for the user function</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteCollation">
+            <summary>
+            Internal callback delegate for implementing collating sequences
+            </summary>
+            <param name="puser">Not used</param>
+            <param name="len1">Length of the string pv1</param>
+            <param name="pv1">Pointer to the first string to compare</param>
+            <param name="len2">Length of the string pv2</param>
+            <param name="pv2">Pointer to the second string to compare</param>
+            <returns>Returns -1 if the first string is less than the second.  0 if they are equal, or 1 if the first string is greater
+            than the second.</returns>
+        </member>
+        <member name="T:System.Data.SQLite.CollationTypeEnum">
+            <summary>
+            The type of collating sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
+            <summary>
+            The built-in BINARY collating sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
+            <summary>
+            The built-in NOCASE collating sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
+            <summary>
+            The built-in REVERSE collating sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
+            <summary>
+            A custom user-defined collating sequence
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.CollationEncodingEnum">
+            <summary>
+            The encoding type the collation sequence uses
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
+            <summary>
+            The collation sequence is UTF8
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
+            <summary>
+            The collation sequence is UTF16 little-endian
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
+            <summary>
+            The collation sequence is UTF16 big-endian
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.CollationSequence">
+            <summary>
+            A struct describing the collating sequence a function is executing in
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationSequence.Name">
+            <summary>
+            The name of the collating sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationSequence.Type">
+            <summary>
+            The type of collating sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationSequence.Encoding">
+            <summary>
+            The text encoding of the collation sequence
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.CollationSequence._func">
+            <summary>
+            Context of the function that requested the collating sequence
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
+            <summary>
+            Calls the base collating sequence to compare two strings
+            </summary>
+            <param name="s1">The first string to compare</param>
+            <param name="s2">The second string to compare</param>
+            <returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
+        </member>
+        <member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
+            <summary>
+            Calls the base collating sequence to compare two character arrays
+            </summary>
+            <param name="c1">The first array to compare</param>
+            <param name="c2">The second array to compare</param>
+            <returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
+            <summary>
+            A simple custom attribute to enable us to easily find user-defined functions in
+            the loaded assemblies and initialize them in SQLite as connections are made.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor">
+            <summary>
+            Default constructor, initializes the internal variables for the function.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteFunctionAttribute.#ctor(System.String,System.Int32,System.Data.SQLite.FunctionType)">
+            <summary>
+            Constructs an instance of this class.  This sets the initial
+            <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/>, <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.Callback1"/>, and
+            <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> properties to null.
+            </summary>
+            <param name="name">
+            The name of the function, as seen by the SQLite core library.
+            </param>
+            <param name="argumentCount">
+            The number of arguments that the function will accept.
+            </param>
+            <param name="functionType">
+            The type of function being declared.  This will either be Scalar,
+            Aggregate, or Collation.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Name">
+            <summary>
+            The function's name as it will be used in SQLite command text.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Arguments">
+            <summary>
+            The number of arguments this function expects.  -1 if the number of arguments is variable.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunctionAttribute.FuncType">
+            <summary>
+            The type of function this implementation will be.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunctionAttribute.InstanceType">
+            <summary>
+            The <see cref="T:System.Type"/> object instance that describes the class
+            containing the implementation for the associated function.  The value of
+            this property will not be used if either the <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.Callback1"/> or
+            <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.Callback2"/> property values are set to non-null.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback1">
+            <summary>
+            The <see cref="T:System.Delegate"/> that refers to the implementation for the
+            associated function.  If this property value is set to non-null, it will
+            be used instead of the <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteFunctionAttribute.Callback2">
+            <summary>
+            The <see cref="T:System.Delegate"/> that refers to the implementation for the
+            associated function.  If this property value is set to non-null, it will
+            be used instead of the <see cref="P:system.Data.SQLite.SQLiteFunctionAttribute.InstanceType"/> property value.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteKeyReader">
+            <summary>
+            This class provides key info for a given SQLite statement.
+            <remarks>
+            Providing key information for a given statement is non-trivial :(
+            </remarks>
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteKeyReader.#ctor(System.Data.SQLite.SQLiteConnection,System.Data.SQLite.SQLiteDataReader,System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            This function does all the nasty work at determining what keys need to be returned for
+            a given statement.
+            </summary>
+            <param name="cnn"></param>
+            <param name="reader"></param>
+            <param name="stmt"></param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteKeyReader.Sync">
+            <summary>
+            Make sure all the subqueries are open and ready and sync'd with the current rowid
+            of the table they're supporting
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteKeyReader.Reset">
+            <summary>
+            Release any readers on any subqueries
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteKeyReader.AppendSchemaTable(System.Data.DataTable)">
+            <summary>
+            Append all the columns we've added to the original query to the schema
+            </summary>
+            <param name="tbl"></param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteKeyReader.Count">
+            <summary>
+            How many additional columns of keyinfo we're holding
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteKeyReader.KeyInfo">
+            <summary>
+            Used to support CommandBehavior.KeyInfo
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
+            <summary>
+            A single sub-query for a given table/database.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.LogEventArgs">
+            <summary>
+            Event data for logging event handlers.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.LogEventArgs.ErrorCode">
+            <summary>
+            The error code.  The type of this object value should be
+            <see cref="T:System.Int32"/> or <see cref="T:system.Data.SQLite.SQLiteErrorCode"/>.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.LogEventArgs.Message">
+            <summary>
+            SQL statement text as the statement first begins executing
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.LogEventArgs.Data">
+            <summary>
+            Extra data associated with this event, if any.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.LogEventArgs.#ctor(System.IntPtr,System.Object,System.String,System.Object)">
+            <summary>
+            Constructs the object.
+            </summary>
+            <param name="pUserData">Should be null.</param>
+            <param name="errorCode">
+            The error code.  The type of this object value should be
+            <see cref="T:System.Int32"/> or <see cref="T:system.Data.SQLite.SQLiteErrorCode"/>.
+            </param>
+            <param name="message">The error message, if any.</param>
+            <param name="data">The extra data, if any.</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteLogEventHandler">
+            <summary>
+            Raised when a log event occurs.
+            </summary>
+            <param name="sender">The current connection</param>
+            <param name="e">Event arguments of the trace</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteLog">
+            <summary>
+            Manages the SQLite custom logging functionality and the associated
+            callback for the whole process.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteLog.syncRoot">
+            <summary>
+            Object used to synchronize access to the static instance data
+            for this class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteLog._domainUnload">
+            <summary>
+            Member variable to store the AppDomain.DomainUnload event handler.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteLog._defaultHandler">
+            <summary>
+            The default log event handler.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteLog._callback">
+            <summary>
+            The log callback passed to native SQLite engine.  This must live
+            as long as the SQLite library has a pointer to it.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteLog._sql">
+            <summary>
+            The base SQLite object to interop with.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteLog._enabled">
+            <summary>
+            This will be non-zero if logging is currently enabled.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.Initialize">
+            <summary>
+            Initializes the SQLite logging facilities.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.DomainUnload(System.Object,System.EventArgs)">
+            <summary>
+            Handles the AppDomain being unloaded.
+            </summary>
+            <param name="sender">Should be null.</param>
+            <param name="e">The data associated with this event.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.String)">
+            <summary>
+            Log a message to all the registered log event handlers without going
+            through the SQLite library.
+            </summary>
+            <param name="message">The message to be logged.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Data.SQLite.SQLiteErrorCode,System.String)">
+            <summary>
+            Log a message to all the registered log event handlers without going
+            through the SQLite library.
+            </summary>
+            <param name="errorCode">The SQLite error code.</param>
+            <param name="message">The message to be logged.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Int32,System.String)">
+            <summary>
+            Log a message to all the registered log event handlers without going
+            through the SQLite library.
+            </summary>
+            <param name="errorCode">The integer error code.</param>
+            <param name="message">The message to be logged.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.LogMessage(System.Object,System.String)">
+            <summary>
+            Log a message to all the registered log event handlers without going
+            through the SQLite library.
+            </summary>
+            <param name="errorCode">
+            The error code.  The type of this object value should be
+            System.Int32 or SQLiteErrorCode.
+            </param>
+            <param name="message">The message to be logged.</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.InitializeDefaultHandler">
+            <summary>
+            Creates and initializes the default log event handler.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.AddDefaultHandler">
+            <summary>
+            Adds the default log event handler to the list of handlers.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.RemoveDefaultHandler">
+            <summary>
+            Removes the default log event handler from the list of handlers.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.LogCallback(System.IntPtr,System.Int32,System.IntPtr)">
+             <summary>
+             Internal proxy function that calls any registered application log
+             event handlers.
+            
+             WARNING: This method is used more-or-less directly by native code,
+                      do not modify its type signature.
+             </summary>
+             <param name="pUserData">
+             The extra data associated with this message, if any.
+             </param>
+             <param name="errorCode">
+             The error code associated with this message.
+             </param>
+             <param name="pMessage">
+             The message string to be logged.
+             </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteLog.LogEventHandler(System.Object,System.Data.SQLite.LogEventArgs)">
+            <summary>
+            Default logger.  Currently, uses the Trace class (i.e. sends events
+            to the current trace listeners, if any).
+            </summary>
+            <param name="sender">Should be null.</param>
+            <param name="e">The data associated with this event.</param>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteLog._handlers">
+            <summary>
+            Member variable to store the application log handler to call.
+            </summary>
+        </member>
+        <member name="E:System.Data.SQLite.SQLiteLog.Log">
+            <summary>
+            This event is raised whenever SQLite raises a logging event.
+            Note that this should be set as one of the first things in the
+            application.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteLog.Enabled">
+            <summary>
+            If this property is true, logging is enabled; otherwise, logging is
+            disabled.  When logging is disabled, no logging events will fire.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteMetaDataCollectionNames">
+            <summary>
+            MetaDataCollections specific to SQLite
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Catalogs">
+            <summary>
+            Returns a list of databases attached to the connection
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Columns">
+            <summary>
+            Returns column information for the specified table
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Indexes">
+            <summary>
+            Returns index information for the optionally-specified table
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.IndexColumns">
+            <summary>
+            Returns base columns for the given index
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Tables">
+            <summary>
+            Returns the tables in the given catalog
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Views">
+            <summary>
+            Returns user-defined views in the given catalog
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ViewColumns">
+            <summary>
+            Returns underlying column information on the given view
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
+            <summary>
+            Returns foreign key information for the given catalog
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
+            <summary>
+            Returns the triggers on the database
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteParameter">
+            <summary>
+            SQLite implementation of DbParameter.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter.UnknownDbType">
+            <summary>
+            This value represents an "unknown" <see cref="P:system.Data.SQLite.SQLiteParameter.DbType"/>.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._command">
+            <summary>
+            The command associated with this parameter.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._dbType">
+            <summary>
+            The data type of the parameter
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._rowVersion">
+            <summary>
+            The version information for mapping the parameter
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._objValue">
+            <summary>
+            The value of the data in the parameter
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._sourceColumn">
+            <summary>
+            The source column for the parameter
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._parameterName">
+            <summary>
+            The column name
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameter._dataSize">
+            <summary>
+            The data size, unused by SQLite
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.IDbCommand)">
+            <summary>
+            Constructor used when creating for use with a specific command.
+            </summary>
+            <param name="command">
+            The command associated with this parameter.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String)">
+            <summary>
+            Constructs a named parameter given the specified parameter name
+            </summary>
+            <param name="parameterName">The parameter name</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Object)">
+            <summary>
+            Constructs a named parameter given the specified parameter name and initial value
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="value">The initial value of the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType)">
+            <summary>
+            Constructs a named parameter of the specified type
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="dbType">The datatype of the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String)">
+            <summary>
+            Constructs a named parameter of the specified type and source column reference
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="dbType">The data type</param>
+            <param name="sourceColumn">The source column</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.String,System.Data.DataRowVersion)">
+            <summary>
+            Constructs a named parameter of the specified type, source column and row version
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="dbType">The data type</param>
+            <param name="sourceColumn">The source column</param>
+            <param name="rowVersion">The row version information</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType)">
+            <summary>
+            Constructs an unnamed parameter of the specified data type
+            </summary>
+            <param name="dbType">The datatype of the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Object)">
+            <summary>
+            Constructs an unnamed parameter of the specified data type and sets the initial value
+            </summary>
+            <param name="dbType">The datatype of the parameter</param>
+            <param name="value">The initial value of the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String)">
+            <summary>
+            Constructs an unnamed parameter of the specified data type and source column
+            </summary>
+            <param name="dbType">The datatype of the parameter</param>
+            <param name="sourceColumn">The source column</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.String,System.Data.DataRowVersion)">
+            <summary>
+            Constructs an unnamed parameter of the specified data type, source column and row version
+            </summary>
+            <param name="dbType">The data type</param>
+            <param name="sourceColumn">The source column</param>
+            <param name="rowVersion">The row version information</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32)">
+            <summary>
+            Constructs a named parameter of the specified type and size
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String)">
+            <summary>
+            Constructs a named parameter of the specified type, size and source column
+            </summary>
+            <param name="parameterName">The name of the parameter</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+            <param name="sourceColumn">The source column</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
+            <summary>
+            Constructs a named parameter of the specified type, size, source column and row version
+            </summary>
+            <param name="parameterName">The name of the parameter</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+            <param name="sourceColumn">The source column</param>
+            <param name="rowVersion">The row version information</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
+            <summary>
+            Constructs a named parameter of the specified type, size, source column and row version
+            </summary>
+            <param name="parameterName">The name of the parameter</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+            <param name="direction">Only input parameters are supported in SQLite</param>
+            <param name="isNullable">Ignored</param>
+            <param name="precision">Ignored</param>
+            <param name="scale">Ignored</param>
+            <param name="sourceColumn">The source column</param>
+            <param name="rowVersion">The row version information</param>
+            <param name="value">The initial value to assign the parameter</param>   
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.String,System.Data.DbType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
+            <summary>
+            Constructs a named parameter, yet another flavor
+            </summary>
+            <param name="parameterName">The name of the parameter</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+            <param name="direction">Only input parameters are supported in SQLite</param>
+            <param name="precision">Ignored</param>
+            <param name="scale">Ignored</param>
+            <param name="sourceColumn">The source column</param>
+            <param name="rowVersion">The row version information</param>
+            <param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
+            <param name="value">The intial value to assign the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32)">
+            <summary>
+            Constructs an unnamed parameter of the specified type and size
+            </summary>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String)">
+            <summary>
+            Constructs an unnamed parameter of the specified type, size, and source column
+            </summary>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+            <param name="sourceColumn">The source column</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.#ctor(System.Data.DbType,System.Int32,System.String,System.Data.DataRowVersion)">
+            <summary>
+            Constructs an unnamed parameter of the specified type, size, source column and row version
+            </summary>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the parameter</param>
+            <param name="sourceColumn">The source column</param>
+            <param name="rowVersion">The row version information</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.ResetDbType">
+            <summary>
+            Resets the DbType of the parameter so it can be inferred from the value
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameter.Clone">
+            <summary>
+            Clones a parameter
+            </summary>
+            <returns>A new, unassociated SQLiteParameter</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.Command">
+            <summary>
+            The command associated with this parameter.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.IsNullable">
+            <summary>
+            Whether or not the parameter can contain a null value
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.DbType">
+            <summary>
+            Returns the datatype of the parameter
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.Direction">
+            <summary>
+            Supports only input parameters
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.ParameterName">
+            <summary>
+            Returns the parameter name
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.Size">
+            <summary>
+            Returns the size of the parameter
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.SourceColumn">
+            <summary>
+            Gets/sets the source column
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.SourceColumnNullMapping">
+            <summary>
+            Used by DbCommandBuilder to determine the mapping for nullable fields
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.SourceVersion">
+            <summary>
+            Gets and sets the row version
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameter.Value">
+            <summary>
+            Gets and sets the parameter value.  If no datatype was specified, the datatype will assume the type from the value given.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteParameterCollection">
+            <summary>
+            SQLite implementation of DbParameterCollection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameterCollection._command">
+            <summary>
+            The underlying command to which this collection belongs
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameterCollection._parameterList">
+            <summary>
+            The internal array of parameters in this collection
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteParameterCollection._unboundFlag">
+            <summary>
+            Determines whether or not all parameters have been bound to their statement(s)
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.#ctor(System.Data.SQLite.SQLiteCommand)">
+            <summary>
+            Initializes the collection
+            </summary>
+            <param name="cmd">The command to which the collection belongs</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.GetEnumerator">
+            <summary>
+            Retrieves an enumerator for the collection
+            </summary>
+            <returns>An enumerator for the underlying array</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32,System.String)">
+            <summary>
+            Adds a parameter to the collection
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the value</param>
+            <param name="sourceColumn">The source column</param>
+            <returns>A SQLiteParameter object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType,System.Int32)">
+            <summary>
+            Adds a parameter to the collection
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="parameterType">The data type</param>
+            <param name="parameterSize">The size of the value</param>
+            <returns>A SQLiteParameter object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.String,System.Data.DbType)">
+            <summary>
+            Adds a parameter to the collection
+            </summary>
+            <param name="parameterName">The parameter name</param>
+            <param name="parameterType">The data type</param>
+            <returns>A SQLiteParameter object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Data.SQLite.SQLiteParameter)">
+            <summary>
+            Adds a parameter to the collection
+            </summary>
+            <param name="parameter">The parameter to add</param>
+            <returns>A zero-based index of where the parameter is located in the array</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Add(System.Object)">
+            <summary>
+            Adds a parameter to the collection
+            </summary>
+            <param name="value">The parameter to add</param>
+            <returns>A zero-based index of where the parameter is located in the array</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.AddWithValue(System.String,System.Object)">
+            <summary>
+            Adds a named/unnamed parameter and its value to the parameter collection.
+            </summary>
+            <param name="parameterName">Name of the parameter, or null to indicate an unnamed parameter</param>
+            <param name="value">The initial value of the parameter</param>
+            <returns>Returns the SQLiteParameter object created during the call.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Data.SQLite.SQLiteParameter[])">
+            <summary>
+            Adds an array of parameters to the collection
+            </summary>
+            <param name="values">The array of parameters to add</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.AddRange(System.Array)">
+            <summary>
+            Adds an array of parameters to the collection
+            </summary>
+            <param name="values">The array of parameters to add</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Clear">
+            <summary>
+            Clears the array and resets the collection
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.String)">
+            <summary>
+            Determines if the named parameter exists in the collection
+            </summary>
+            <param name="parameterName">The name of the parameter to check</param>
+            <returns>True if the parameter is in the collection</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Contains(System.Object)">
+            <summary>
+            Determines if the parameter exists in the collection
+            </summary>
+            <param name="value">The SQLiteParameter to check</param>
+            <returns>True if the parameter is in the collection</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Not implemented
+            </summary>
+            <param name="array"></param>
+            <param name="index"></param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.String)">
+            <summary>
+            Retrieve a parameter by name from the collection
+            </summary>
+            <param name="parameterName">The name of the parameter to fetch</param>
+            <returns>A DbParameter object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.GetParameter(System.Int32)">
+            <summary>
+            Retrieves a parameter by its index in the collection
+            </summary>
+            <param name="index">The index of the parameter to retrieve</param>
+            <returns>A DbParameter object</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.String)">
+            <summary>
+            Returns the index of a parameter given its name
+            </summary>
+            <param name="parameterName">The name of the parameter to find</param>
+            <returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.IndexOf(System.Object)">
+            <summary>
+            Returns the index of a parameter
+            </summary>
+            <param name="value">The parameter to find</param>
+            <returns>-1 if not found, otherwise a zero-based index of the parameter</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Insert(System.Int32,System.Object)">
+            <summary>
+            Inserts a parameter into the array at the specified location
+            </summary>
+            <param name="index">The zero-based index to insert the parameter at</param>
+            <param name="value">The parameter to insert</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Remove(System.Object)">
+            <summary>
+            Removes a parameter from the collection
+            </summary>
+            <param name="value">The parameter to remove</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.String)">
+            <summary>
+            Removes a parameter from the collection given its name
+            </summary>
+            <param name="parameterName">The name of the parameter to remove</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.RemoveAt(System.Int32)">
+            <summary>
+            Removes a parameter from the collection given its index
+            </summary>
+            <param name="index">The zero-based parameter index to remove</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.String,System.Data.Common.DbParameter)">
+            <summary>
+            Re-assign the named parameter to a new parameter object
+            </summary>
+            <param name="parameterName">The name of the parameter to replace</param>
+            <param name="value">The new parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.SetParameter(System.Int32,System.Data.Common.DbParameter)">
+            <summary>
+            Re-assign a parameter at the specified index
+            </summary>
+            <param name="index">The zero-based index of the parameter to replace</param>
+            <param name="value">The new parameter</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.Unbind">
+            <summary>
+            Un-binds all parameters from their statements
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteParameterCollection.MapParameters(System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            This function attempts to map all parameters in the collection to all statements in a Command.
+            Since named parameters may span multiple statements, this function makes sure all statements are bound
+            to the same named parameter.  Unnamed parameters are bound in sequence.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.IsSynchronized">
+            <summary>
+            Returns false
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.IsFixedSize">
+            <summary>
+            Returns false
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.IsReadOnly">
+            <summary>
+            Returns false
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.SyncRoot">
+            <summary>
+            Returns null
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.Count">
+            <summary>
+            Returns a count of parameters in the collection
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.String)">
+            <summary>
+            Overloaded to specialize the return value of the default indexer
+            </summary>
+            <param name="parameterName">Name of the parameter to get/set</param>
+            <returns>The specified named SQLite parameter</returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteParameterCollection.Item(System.Int32)">
+            <summary>
+            Overloaded to specialize the return value of the default indexer
+            </summary>
+            <param name="index">The index of the parameter to get/set</param>
+            <returns>The specified SQLite parameter</returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteStatement">
+            <summary>
+            Represents a single SQL statement in SQLite.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._sql">
+            <summary>
+            The underlying SQLite object this statement is bound to
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._sqlStatement">
+            <summary>
+            The command text of this SQL statement
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._sqlite_stmt">
+            <summary>
+            The actual statement pointer
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._unnamedParameters">
+            <summary>
+            An index from which unnamed parameters begin
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._paramNames">
+            <summary>
+            Names of the parameters as SQLite understands them to be
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._paramValues">
+            <summary>
+            Parameters for this statement
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._command">
+            <summary>
+            Command this statement belongs to (if any)
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteStatement._flags">
+            <summary>
+            The flags associated with the parent connection object.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteStatement.#ctor(System.Data.SQLite.SQLiteBase,System.Data.SQLite.SQLiteConnectionFlags,System.Data.SQLite.SQLiteStatementHandle,System.String,System.Data.SQLite.SQLiteStatement)">
+            <summary>
+            Initializes the statement and attempts to get all information about parameters in the statement
+            </summary>
+            <param name="sqlbase">The base SQLite object</param>
+            <param name="flags">The flags associated with the parent connection object</param>
+            <param name="stmt">The statement</param>
+            <param name="strCommand">The command text for this statement</param>
+            <param name="previous">The previous command in a multi-statement command</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteStatement.Dispose">
+            <summary>
+            Disposes and finalizes the statement
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteStatement.TryGetChanges(System.Int32@,System.Boolean@)">
+            <summary>
+            If the underlying database connection is open, fetches the number of changed rows
+            resulting from the most recent query; otherwise, does nothing.
+            </summary>
+            <param name="changes">
+            The number of changes when true is returned.
+            Undefined if false is returned.
+            </param>
+            <param name="readOnly">
+            The read-only flag when true is returned.
+            Undefined if false is returned.
+            </param>
+            <returns>Non-zero if the number of changed rows was fetched.</returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteStatement.MapParameter(System.String,System.Data.SQLite.SQLiteParameter)">
+            <summary>
+            Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
+            this statement, and if so, keeps a reference to the parameter so it can be bound later.
+            </summary>
+            <param name="s">The parameter name to map</param>
+            <param name="p">The parameter to assign it</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteStatement.BindParameters">
+            <summary>
+             Bind all parameters, making sure the caller didn't miss any
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteStatement.BindParameter(System.Int32,System.Data.SQLite.SQLiteParameter)">
+            <summary>
+            Perform the bind operation for an individual parameter
+            </summary>
+            <param name="index">The index of the parameter to bind</param>
+            <param name="param">The parameter we're binding</param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteTransaction">
+            <summary>
+            SQLite implementation of DbTransaction.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
+            <summary>
+            The connection to which this transaction is bound
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteTransaction.#ctor(System.Data.SQLite.SQLiteConnection,System.Boolean)">
+            <summary>
+            Constructs the transaction object, binding it to the supplied connection
+            </summary>
+            <param name="connection">The connection to open a transaction on</param>
+            <param name="deferredLock">TRUE to defer the writelock, or FALSE to lock immediately</param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteTransaction.Dispose(System.Boolean)">
+            <summary>
+            Disposes the transaction.  If it is currently active, any changes are rolled back.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteTransaction.Commit">
+            <summary>
+            Commits the current transaction.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteTransaction.Rollback">
+            <summary>
+            Rolls back the active transaction.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteTransaction.Connection">
+            <summary>
+            Returns the underlying connection to which this transaction applies.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteTransaction.DbConnection">
+            <summary>
+            Forwards to the local Connection property
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteTransaction.IsolationLevel">
+            <summary>
+            Gets the isolation level of the transaction.  SQLite only supports Serializable transactions.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.DllFileExtension">
+            <summary>
+            The file extension used for dynamic link libraries.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.ConfigFileExtension">
+            <summary>
+            The file extension used for the XML configuration file.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.XmlConfigFileName">
+            <summary>
+            This is the name of the XML configuration file specific to the
+            System.Data.SQLite assembly.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.staticSyncRoot">
+            <summary>
+            This lock is used to protect the static _SQLiteNativeModuleFileName,
+            _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.processorArchitecturePlatforms">
+            <summary>
+            This dictionary stores the mappings between processor architecture
+            names and platform names.  These mappings are now used for two
+            purposes.  First, they are used to determine if the assembly code
+            base should be used instead of the location, based upon whether one
+            or more of the named sub-directories exist within the assembly code
+            base.  Second, they are used to assist in loading the appropriate
+            SQLite interop assembly into the current process.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.#cctor">
+            <summary>
+            For now, this method simply calls the Initialize method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.MonoRuntimeType">
+            <summary>
+            This type is only present when running on Mono.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.isMono">
+            <summary>
+            Keeps track of whether we are running on Mono.  Initially null, it is
+            set by the <see cref="M:system.Data.SQLite.UnsafeNativeMethods.IsMono"/> method on its first call.  Later, it
+            is returned verbatim by the <see cref="M:system.Data.SQLite.UnsafeNativeMethods.IsMono"/> method.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.IsMono">
+            <summary>
+            Determines whether or not this assembly is running on Mono.
+            </summary>
+            <returns>
+            Non-zero if this assembly is running on Mono.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.StringFormat(System.IFormatProvider,System.String,System.Object[])">
+            <summary>
+            This is a wrapper around the
+            <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method.
+            On Mono, it has to call the method overload without the
+            <see cref="T:System.IFormatProvider"/> parameter, due to a bug in Mono.
+            </summary>
+            <param name="provider">
+            This is used for culture-specific formatting.
+            </param>
+            <param name="format">
+            The format string.
+            </param>
+            <param name="args">
+            An array the objects to format.
+            </param>
+            <returns>
+            The resulting string.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.Initialize">
+            <summary>
+            Attempts to initialize this class by pre-loading the native SQLite
+            library for the processor architecture of the current process.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.GetXmlConfigFileName">
+            <summary>
+            Queries and returns the XML configuration file name for the assembly
+            containing the managed System.Data.SQLite components.
+            </summary>
+            <returns>
+            The XML configuration file name -OR- null if it cannot be determined
+            or does not exist.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.GetSettingValue(System.String,System.String)">
+            <summary>
+            Queries and returns the value of the specified setting, using the XML
+            configuration file and/or the environment variables for the current
+            process and/or the current system, when available.
+            </summary>
+            <param name="name">
+            The name of the setting.
+            </param>
+            <param name="default">
+            The value to be returned if the setting has not been set explicitly
+            or cannot be determined.
+            </param>
+            <returns>
+            The value of the setting -OR- the default value specified by
+            <paramref name="default" /> if it has not been set explicitly or
+            cannot be determined.  By default, all references to existing
+            environment variables will be expanded to their corresponding values
+            within the value to be returned unless either the "No_Expand" or
+            "No_Expand_<paramref name="name" />" environment variable is set [to
+            anything].
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.GetAssemblyDirectory">
+            <summary>
+            Queries and returns the directory for the assembly currently being
+            executed.
+            </summary>
+            <returns>
+            The directory for the assembly currently being executed -OR- null if
+            it cannot be determined.
+            </returns>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods.PROCESSOR_ARCHITECTURE">
+            <summary>
+            The name of the environment variable containing the processor
+            architecture of the current process.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.LoadLibrary(System.String)">
+            <summary>
+            This is the P/Invoke method that wraps the native Win32 LoadLibrary
+            function.  See the MSDN documentation for full details on what it
+            does.
+            </summary>
+            <param name="fileName">
+            The name of the executable library.
+            </param>
+            <returns>
+            The native module handle upon success -OR- IntPtr.Zero on failure.
+            </returns>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleFileName">
+            <summary>
+            The native module file name for the native SQLite library or null.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.UnsafeNativeMethods._SQLiteNativeModuleHandle">
+            <summary>
+            The native module handle for the native SQLite library or the value
+            IntPtr.Zero.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.SearchForDirectory(System.String@,System.String@)">
+            <summary>
+            Searches for the native SQLite library in the directory containing
+            the assembly currently being executed as well as the base directory
+            for the current application domain.
+            </summary>
+            <param name="baseDirectory">
+            Upon success, this parameter will be modified to refer to the base
+            directory containing the native SQLite library.
+            </param>
+            <param name="processorArchitecture">
+            Upon success, this parameter will be modified to refer to the name
+            of the immediate directory (i.e. the offset from the base directory)
+            containing the native SQLite library.
+            </param>
+            <returns>
+            Non-zero (success) if the native SQLite library was found; otherwise,
+            zero (failure).
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.GetBaseDirectory">
+            <summary>
+            Queries and returns the base directory of the current application
+            domain.
+            </summary>
+            <returns>
+            The base directory for the current application domain -OR- null if it
+            cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.FixUpDllFileName(System.String)">
+            <summary>
+            Determines if the dynamic link library file name requires a suffix
+            and adds it if necessary.
+            </summary>
+            <param name="fileName">
+            The original dynamic link library file name to inspect.
+            </param>
+            <returns>
+            The dynamic link library file name, possibly modified to include an
+            extension.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.GetProcessorArchitecture">
+            <summary>
+            Queries and returns the processor architecture of the current
+            process.
+            </summary>
+            <returns>
+            The processor architecture of the current process -OR- null if it
+            cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.GetPlatformName(System.String)">
+            <summary>
+            Given the processor architecture, returns the name of the platform.
+            </summary>
+            <param name="processorArchitecture">
+            The processor architecture to be translated to a platform name.
+            </param>
+            <returns>
+            The platform name for the specified processor architecture -OR- null
+            if it cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.UnsafeNativeMethods.PreLoadSQLiteDll(System.String,System.String,System.String@,System.IntPtr@)">
+            <summary>
+            Attempts to load the native SQLite library based on the specified
+            directory and processor architecture.
+            </summary>
+            <param name="baseDirectory">
+            The base directory to use, null for default (the base directory of
+            the current application domain).  This directory should contain the
+            processor architecture specific sub-directories.
+            </param>
+            <param name="processorArchitecture">
+            The requested processor architecture, null for default (the
+            processor architecture of the current process).  This caller should
+            almost always specify null for this parameter.
+            </param>
+            <param name="nativeModuleFileName">
+            The candidate native module file name to load will be stored here,
+            if necessary.
+            </param>
+            <param name="nativeModuleHandle">
+            The native module handle as returned by LoadLibrary will be stored
+            here, if necessary.  This value will be IntPtr.Zero if the call to
+            LoadLibrary fails.
+            </param>
+            <returns>
+            Non-zero if the native module was loaded successfully; otherwise,
+            zero.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SR">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SR.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SR.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SR.DataTypes">
+             <summary>
+               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?&gt;
+            &lt;DocumentElement&gt;
+              &lt;DataTypes&gt;
+                &lt;TypeName&gt;smallint&lt;/TypeName&gt;
+                &lt;ProviderDbType&gt;10&lt;/ProviderDbType&gt;
+                &lt;ColumnSize&gt;5&lt;/ColumnSize&gt;
+                &lt;DataType&gt;System.Int16&lt;/DataType&gt;
+                &lt;CreateFormat&gt;smallint&lt;/CreateFormat&gt;
+                &lt;IsAutoIncrementable&gt;false&lt;/IsAutoIncrementable&gt;
+                &lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
+                &lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
+                &lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
+                &lt;IsLong&gt;false&lt;/IsLong&gt;
+                &lt;IsNullable&gt;true&lt;/ [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SR.Keywords">
+            <summary>
+              Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SR.MetaDataCollections">
+             <summary>
+               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
+            &lt;DocumentElement&gt;
+              &lt;MetaDataCollections&gt;
+                &lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
+                &lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
+                &lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
+              &lt;/MetaDataCollections&gt;
+              &lt;MetaDataCollections&gt;
+                &lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
+                &lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
+                &lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
+              &lt;/MetaDataCollections&gt;
+              &lt;MetaDataC [rest of string was truncated]&quot;;.
+             </summary>
+        </member>
+        <member name="T:System.Data.SQLite.ISQLiteNativeModule">
+            <summary>
+            This interface represents a virtual table implementation written in
+            native code.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            <para><code>
+              int (*xCreate)(sqlite3 *db, void *pAux,
+                           int argc, char **argv,
+                           sqlite3_vtab **ppVTab,
+                           char **pzErr);
+            </code></para>
+            <para>
+            This method is called to create a new instance of a virtual table 
+            in response to a CREATE VIRTUAL TABLE statement. 
+            The db parameter is a pointer to the SQLite database connection that 
+            is executing the CREATE VIRTUAL TABLE statement. 
+            The pAux argument is the copy of the client data pointer that was the 
+            fourth argument to the sqlite3_create_module() or
+            sqlite3_create_module_v2() call that registered the 
+            virtual table module. 
+            The argv parameter is an array of argc pointers to null terminated strings. 
+            The first string, argv[0], is the name of the module being invoked.   The
+            module name is the name provided as the second argument to 
+            sqlite3_create_module() and as the argument to the USING clause of the
+            CREATE VIRTUAL TABLE statement that is running.
+            The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or
+            "temp" for TEMP database, or the name given at the end of the ATTACH
+            statement for attached databases.  The third element of the array, argv[2], 
+            is the name of the new virtual table, as specified following the TABLE
+            keyword in the CREATE VIRTUAL TABLE statement.
+            If present, the fourth and subsequent strings in the argv[] array report 
+            the arguments to the module name in the CREATE VIRTUAL TABLE statement.
+            </para>
+            <para>
+            The job of this method is to construct the new virtual table object
+            (an sqlite3_vtab object) and return a pointer to it in *ppVTab.
+            </para>
+            <para>
+            As part of the task of creating a new sqlite3_vtab structure, this 
+            method <u>must</u> invoke sqlite3_declare_vtab() to tell the SQLite 
+            core about the columns and datatypes in the virtual table. 
+            The sqlite3_declare_vtab() API has the following prototype:
+            </para>
+            <para><code>
+                int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
+            </code></para>
+            <para>
+            The first argument to sqlite3_declare_vtab() must be the same 
+            database connection pointer as the first parameter to this method.
+            The second argument to sqlite3_declare_vtab() must a zero-terminated 
+            UTF-8 string that contains a well-formed CREATE TABLE statement that 
+            defines the columns in the virtual table and their data types. 
+            The name of the table in this CREATE TABLE statement is ignored, 
+            as are all constraints. Only the column names and datatypes matter.
+            The CREATE TABLE statement string need not to be 
+            held in persistent memory.  The string can be
+            deallocated and/or reused as soon as the sqlite3_declare_vtab()
+            routine returns.
+            </para>
+            <para>
+            The xCreate method need not initialize the pModule, nRef, and zErrMsg
+            fields of the sqlite3_vtab object.  The SQLite core will take care of 
+            that chore.
+            </para>
+            <para>
+            The xCreate should return SQLITE_OK if it is successful in 
+            creating the new virtual table, or SQLITE_ERROR if it is not successful.
+            If not successful, the sqlite3_vtab structure must not be allocated. 
+            An error message may optionally be returned in *pzErr if unsuccessful.
+            Space to hold the error message string must be allocated using
+            an SQLite memory allocation function like 
+            sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
+            attempt to free the space using sqlite3_free() after the error has
+            been reported up to the application.
+            </para>
+            <para>
+            If the xCreate method is omitted (left as a NULL pointer) then the
+            virtual table is an eponymous-only virtual table.  New instances of
+            the virtual table cannot be created using CREATE VIRTUAL TABLE and the
+            virtual table can only be used via its module name.
+            Note that SQLite versions prior to 3.9.0 do not understand
+            eponymous-only virtual tables and will segfault if an attempt is made
+            to CREATE VIRTUAL TABLE on an eponymous-only virtual table because
+            the xCreate method was not checked for null.
+            </para>
+            <para>
+            If the xCreate method is the exact same pointer as the xConnect method,
+            that indicates that the virtual table does not need to initialize backing
+            store.  Such a virtual table can be used as an eponymous virtual table
+            or as a named virtual table using CREATE VIRTUAL TABLE or both.
+            </para>
+            <para>
+            If a column datatype contains the special keyword "HIDDEN"
+            (in any combination of upper and lower case letters) then that keyword
+            it is omitted from the column datatype name and the column is marked 
+            as a hidden column internally. 
+            A hidden column differs from a normal column in three respects:
+            </para>
+            <para>
+            <![CDATA[<ul>]]>
+            <![CDATA[<li>]]> Hidden columns are not listed in the dataset returned by 
+                 "PRAGMA table_info",
+            <![CDATA[<li>]]> Hidden columns are not included in the expansion of a "*"
+                 expression in the result set of a SELECT, and
+            <![CDATA[<li>]]> Hidden columns are not included in the implicit column-list 
+                 used by an INSERT statement that lacks an explicit column-list. 
+            <![CDATA[</ul>]]>
+            </para>
+            <para>
+            For example, if the following SQL is passed to sqlite3_declare_vtab():
+            </para>
+            <para><code>
+               CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
+            </code></para>
+            <para>
+            Then the virtual table would be created with two hidden columns,
+            and with datatypes of "VARCHAR(12)" and "INTEGER".
+            </para>
+            <para>
+            An example use of hidden columns can be seen in the FTS3 virtual 
+            table implementation, where every FTS virtual table
+            contains an FTS hidden column that is used to pass information from the
+            virtual table into FTS auxiliary functions and to the FTS MATCH operator.
+            </para>
+            <para>
+            A virtual table that contains hidden columns can be used like
+            a table-valued function in the FROM clause of a SELECT statement.
+            The arguments to the table-valued function become constraints on 
+            the HIDDEN columns of the virtual table.
+            </para>
+            <para>
+            For example, the "generate_series" extension (located in the
+            ext/misc/series.c
+            file in the source tree)
+            implements an eponymous virtual table with the following schema:
+            </para>
+            <para><code>
+            CREATE TABLE generate_series(
+              value,
+              start HIDDEN,
+              stop HIDDEN,
+              step HIDDEN
+            );
+            </code></para>
+            <para>
+            The sqlite3_module.xBestIndex method in the implementation of this
+            table checks for equality constraints against the HIDDEN columns, and uses
+            those as input parameters to determine the range of integer "value" outputs
+            to generate.  Reasonable defaults are used for any unconstrained columns.
+            For example, to list all integers between 5 and 50:
+            </para>
+            <para><code>
+            SELECT value FROM generate_series(5,50);
+            </code></para>
+            <para>
+            The previous query is equivalent to the following:
+            </para>
+            <para><code>
+            SELECT value FROM generate_series WHERE start=5 AND stop=50;
+            </code></para>
+            <para>
+            Arguments on the virtual table name are matched to hidden columns
+            in order.  The number of arguments can be less than the
+            number of hidden columns, in which case the latter hidden columns are
+            unconstrained.  However, an error results if there are more arguments
+            than there are hidden columns in the virtual table.
+            </para>
+            </summary>
+            <param name="pDb">
+            The native database connection handle.
+            </param>
+            <param name="pAux">
+            The original native pointer value that was provided to the
+            sqlite3_create_module(), sqlite3_create_module_v2() or
+            sqlite3_create_disposable_module() functions.
+            </param>
+            <param name="argc">
+            The number of arguments from the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="argv">
+            The array of string arguments from the CREATE VIRTUAL TABLE
+            statement.
+            </param>
+            <param name="pVtab">
+            Upon success, this parameter must be modified to point to the newly
+            created native sqlite3_vtab derived structure.
+            </param>
+            <param name="pError">
+            Upon failure, this parameter must be modified to point to the error
+            message, with the underlying memory having been obtained from the
+            sqlite3_malloc() function.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            <para><code>
+              int (*xConnect)(sqlite3*, void *pAux,
+                           int argc, char **argv,
+                           sqlite3_vtab **ppVTab,
+                           char **pzErr);
+            </code></para>
+            <para>
+            The xConnect method is very similar to xCreate. 
+            It has the same parameters and constructs a new sqlite3_vtab structure 
+            just like xCreate. 
+            And it must also call sqlite3_declare_vtab() like xCreate.
+            </para>
+            <para>
+            The difference is that xConnect is called to establish a new 
+            connection to an existing virtual table whereas xCreate is called 
+            to create a new virtual table from scratch.
+            </para>
+            <para>
+            The xCreate and xConnect methods are only different when the
+            virtual table has some kind of backing store that must be initialized 
+            the first time the virtual table is created. The xCreate method creates 
+            and initializes the backing store. The xConnect method just connects 
+            to an existing backing store.  When xCreate and xConnect are the same,
+            the table is an eponymous virtual table.
+            </para>
+            <para>
+            As an example, consider a virtual table implementation that 
+            provides read-only access to existing comma-separated-value (CSV)
+            files on disk. There is no backing store that needs to be created 
+            or initialized for such a virtual table (since the CSV files already 
+            exist on disk) so the xCreate and xConnect methods will be identical 
+            for that module.
+            </para>
+            <para>
+            Another example is a virtual table that implements a full-text index. 
+            The xCreate method must create and initialize data structures to hold 
+            the dictionary and posting lists for that index. The xConnect method,
+            on the other hand, only has to locate and use an existing dictionary 
+            and posting lists that were created by a prior xCreate call.
+            </para>
+            <para>
+            The xConnect method must return SQLITE_OK if it is successful 
+            in creating the new virtual table, or SQLITE_ERROR if it is not 
+            successful. If not successful, the sqlite3_vtab structure must not be 
+            allocated. An error message may optionally be returned in *pzErr if 
+            unsuccessful. 
+            Space to hold the error message string must be allocated using
+            an SQLite memory allocation function like 
+            sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
+            attempt to free the space using sqlite3_free() after the error has
+            been reported up to the application.
+            </para>
+            <para>
+            The xConnect method is required for every virtual table implementation, 
+            though the xCreate and xConnect pointers of the sqlite3_module object
+            may point to the same function if the virtual table does not need to
+            initialize backing store.
+            </para>
+            </summary>
+            <param name="pDb">
+            The native database connection handle.
+            </param>
+            <param name="pAux">
+            The original native pointer value that was provided to the
+            sqlite3_create_module(), sqlite3_create_module_v2() or
+            sqlite3_create_disposable_module() functions.
+            </param>
+            <param name="argc">
+            The number of arguments from the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="argv">
+            The array of string arguments from the CREATE VIRTUAL TABLE
+            statement.
+            </param>
+            <param name="pVtab">
+            Upon success, this parameter must be modified to point to the newly
+            created native sqlite3_vtab derived structure.
+            </param>
+            <param name="pError">
+            Upon failure, this parameter must be modified to point to the error
+            message, with the underlying memory having been obtained from the
+            sqlite3_malloc() function.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
+            <summary>
+            <para>
+            SQLite uses the xBestIndex method of a virtual table module to determine
+            the best way to access the virtual table. 
+            The xBestIndex method has a prototype like this:
+            </para>
+            <para><code>
+              int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
+            </code></para>
+            <para>
+            The SQLite core communicates with the xBestIndex method by filling 
+            in certain fields of the sqlite3_index_info structure and passing a 
+            pointer to that structure into xBestIndex as the second parameter. 
+            The xBestIndex method fills out other fields of this structure which
+            forms the reply. The sqlite3_index_info structure looks like this:
+            </para>
+            <para><code>
+              struct sqlite3_index_info {
+                /* Inputs */
+                const int nConstraint;     /* Number of entries in aConstraint */
+                const struct sqlite3_index_constraint {
+                   int iColumn;              /* Column on left-hand side of constraint */
+                   unsigned char op;         /* Constraint operator */
+                   unsigned char usable;     /* True if this constraint is usable */
+                   int iTermOffset;          /* Used internally - xBestIndex should ignore */
+                } *const aConstraint;      /* Table of WHERE clause constraints */
+                const int nOrderBy;        /* Number of terms in the ORDER BY clause */
+                const struct sqlite3_index_orderby {
+                   int iColumn;              /* Column number */
+                   unsigned char desc;       /* True for DESC.  False for ASC. */
+                } *const aOrderBy;         /* The ORDER BY clause */
+                /* Outputs */
+                struct sqlite3_index_constraint_usage {
+                  int argvIndex;           /* if &gt;0, constraint is part of argv to xFilter */
+                  unsigned char omit;      /* Do not code a test for this constraint */
+                } *const aConstraintUsage;
+                int idxNum;                /* Number used to identify the index */
+                char *idxStr;              /* String, possibly obtained from sqlite3_malloc */
+                int needToFreeIdxStr;      /* Free idxStr using sqlite3_free() if true */
+                int orderByConsumed;       /* True if output is already ordered */
+                double estimatedCost;      /* Estimated cost of using this index */
+                <![CDATA[<b>]]>/* Fields below are only available in SQLite 3.8.2 and later */<![CDATA[</b>]]>
+                sqlite3_int64 estimatedRows;    /* Estimated number of rows returned */
+                <![CDATA[<b>]]>/* Fields below are only available in SQLite 3.9.0 and later */<![CDATA[</b>]]>
+                int idxFlags;              /* Mask of SQLITE_INDEX_SCAN_* flags */
+              };
+            </code></para>
+            <para>
+            Please note the warnings on the "estimatedRows" and "idxFlags" field.
+            These fields were added with SQLite versions 3.8.2 and 3.9.0, respectively. 
+            Any extension that reads or writes these fields must first check that the 
+            version of the SQLite library in use is greater than or equal to 3.8.2 or
+            3.9.0 - perhaps using a call to sqlite3_version(). The result of attempting 
+            to access these fields in an sqlite3_index_info structure created by an 
+            older version of SQLite are undefined.
+            </para>
+            <para>
+            In addition, there are some defined constants:
+            </para>
+            <para><code>
+              #define SQLITE_INDEX_CONSTRAINT_EQ    2
+              #define SQLITE_INDEX_CONSTRAINT_GT    4
+              #define SQLITE_INDEX_CONSTRAINT_LE    8
+              #define SQLITE_INDEX_CONSTRAINT_LT    16
+              #define SQLITE_INDEX_CONSTRAINT_GE    32
+              #define SQLITE_INDEX_CONSTRAINT_MATCH 64
+              #define SQLITE_INDEX_SCAN_UNIQUE      1     /* Scan visits at most 1 row */
+            </code></para>
+            <para>
+            The SQLite core calls the xBestIndex method when it is compiling a query
+            that involves a virtual table. In other words, SQLite calls this method 
+            when it is running sqlite3_prepare() or the equivalent. 
+            By calling this method, the 
+            SQLite core is saying to the virtual table that it needs to access 
+            some subset of the rows in the virtual table and it wants to know the
+            most efficient way to do that access. The xBestIndex method replies 
+            with information that the SQLite core can then use to conduct an 
+            efficient search of the virtual table.
+            </para>
+            <para>
+            While compiling a single SQL query, the SQLite core might call 
+            xBestIndex multiple times with different settings in sqlite3_index_info.
+            The SQLite core will then select the combination that appears to 
+            give the best performance.
+            </para>
+            <para>
+            Before calling this method, the SQLite core initializes an instance 
+            of the sqlite3_index_info structure with information about the
+            query that it is currently trying to process. This information 
+            derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses 
+            of the query, but also from any ON or USING clauses if the query is a 
+            join. The information that the SQLite core provides to the xBestIndex 
+            method is held in the part of the structure that is marked as "Inputs". 
+            The "Outputs" section is initialized to zero.
+            </para>
+            <para>
+            The information in the sqlite3_index_info structure is ephemeral
+            and may be overwritten or deallocated as soon as the xBestIndex method
+            returns.  If the xBestIndex method needs to remember any part of the
+            sqlite3_index_info structure, it should make a copy.  Care must be
+            take to store the copy in a place where it will be deallocated, such
+            as in the idxStr field with needToFreeIdxStr set to 1.
+            </para>
+            <para>
+            Note that xBestIndex will always be called before xFilter, since
+            the idxNum and idxStr outputs from xBestIndex are required inputs to
+            xFilter.  However, there is no guarantee that xFilter will be called
+            following a successful xBestIndex.  
+            </para>
+            <para>
+            The xBestIndex method is required for every virtual table implementation.
+            </para>
+            <para>
+            The main thing that the SQLite core is trying to communicate to 
+            the virtual table is the constraints that are available to limit 
+            the number of rows that need to be searched. The aConstraint[] array 
+            contains one entry for each constraint. There will be exactly 
+            nConstraint entries in that array.
+            </para>
+            <para>
+            Each constraint will correspond to a term in the WHERE clause
+            or in a USING or ON clause that is of the form
+            </para>
+            <para><code>
+                 column  OP  EXPR
+            </code></para>
+            <para>
+            Where "column" is a column in the virtual table, OP is an operator 
+            like "=" or "&lt;", and EXPR is an arbitrary expression. So, for example,
+            if the WHERE clause contained a term like this:
+            </para>
+            <para><code>
+                 a = 5
+            </code></para>
+            <para>
+            Then one of the constraints would be on the "a" column with 
+            operator "=" and an expression of "5". Constraints need not have a
+            literal representation of the WHERE clause. The query optimizer might
+            make transformations to the 
+            WHERE clause in order to extract as many constraints 
+            as it can. So, for example, if the WHERE clause contained something 
+            like this:
+            </para>
+            <para><code>
+                 x BETWEEN 10 AND 100 AND 999&gt;y
+            </code></para>
+            <para>
+            The query optimizer might translate this into three separate constraints:
+            </para>
+            <para><code>
+                 x &gt;= 10
+                 x &lt;= 100
+                 y &lt; 999
+            </code></para>
+            <para>
+            For each constraint, the aConstraint[].iColumn field indicates which 
+            column appears on the left-hand side of the constraint.
+            The first column of the virtual table is column 0. 
+            The rowid of the virtual table is column -1. 
+            The aConstraint[].op field indicates which operator is used. 
+            The SQLITE_INDEX_CONSTRAINT_* constants map integer constants 
+            into operator values.
+            Columns occur in the order they were defined by the call to
+            sqlite3_declare_vtab() in the xCreate or xConnect method.
+            Hidden columns are counted when determining the column index.
+            </para>
+            <para>
+            The aConstraint[] array contains information about all constraints 
+            that apply to the virtual table. But some of the constraints might
+            not be usable because of the way tables are ordered in a join. 
+            The xBestIndex method must therefore only consider constraints 
+            that have an aConstraint[].usable flag which is true.
+            </para>
+            <para>
+            In addition to WHERE clause constraints, the SQLite core also 
+            tells the xBestIndex method about the ORDER BY clause. 
+            (In an aggregate query, the SQLite core might put in GROUP BY clause 
+            information in place of the ORDER BY clause information, but this fact
+            should not make any difference to the xBestIndex method.) 
+            If all terms of the ORDER BY clause are columns in the virtual table, 
+            then nOrderBy will be the number of terms in the ORDER BY clause 
+            and the aOrderBy[] array will identify the column for each term 
+            in the order by clause and whether or not that column is ASC or DESC.
+            </para>
+            <para>
+            Given all of the information above, the job of the xBestIndex 
+            method it to figure out the best way to search the virtual table.
+            </para>
+            <para>
+            The xBestIndex method fills the idxNum and idxStr fields with 
+            information that communicates an indexing strategy to the xFilter 
+            method. The information in idxNum and idxStr is arbitrary as far 
+            as the SQLite core is concerned. The SQLite core just copies the 
+            information through to the xFilter method. Any desired meaning can 
+            be assigned to idxNum and idxStr as long as xBestIndex and xFilter 
+            agree on what that meaning is.
+            </para>
+            <para>
+            The idxStr value may be a string obtained from an SQLite
+            memory allocation function such as sqlite3_mprintf(). 
+            If this is the case, then the needToFreeIdxStr flag must be set to 
+            true so that the SQLite core will know to call sqlite3_free() on 
+            that string when it has finished with it, and thus avoid a memory leak.
+            </para>
+            <para>
+            If the virtual table will output rows in the order specified by 
+            the ORDER BY clause, then the orderByConsumed flag may be set to 
+            true. If the output is not automatically in the correct order 
+            then orderByConsumed must be left in its default false setting. 
+            This will indicate to the SQLite core that it will need to do a 
+            separate sorting pass over the data after it comes out of the virtual table.
+            </para>
+            <para>
+            The estimatedCost field should be set to the estimated number
+            of disk access operations required to execute this query against 
+            the virtual table. The SQLite core will often call xBestIndex 
+            multiple times with different constraints, obtain multiple cost
+            estimates, then choose the query plan that gives the lowest estimate.
+            </para>
+            <para>
+            If the current version of SQLite is 3.8.2 or greater, the estimatedRows
+            field may be set to an estimate of the number of rows returned by the
+            proposed query plan. If this value is not explicitly set, the default 
+            estimate of 25 rows is used.
+            </para>
+            <para>
+            If the current version of SQLite is 3.9.0 or greater, the idxFlags field
+            may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table
+            will return only zero or one rows given the input constraints.  Additional
+            bits of the idxFlags field might be understood in later versions of SQLite.
+            </para>
+            <para>
+            The aConstraintUsage[] array contains one element for each of 
+            the nConstraint constraints in the inputs section of the 
+            sqlite3_index_info structure. 
+            The aConstraintUsage[] array is used by xBestIndex to tell the 
+            core how it is using the constraints.
+            </para>
+            <para>
+            The xBestIndex method may set aConstraintUsage[].argvIndex 
+            entries to values greater than zero. 
+            Exactly one entry should be set to 1, another to 2, another to 3, 
+            and so forth up to as many or as few as the xBestIndex method wants. 
+            The EXPR of the corresponding constraints will then be passed 
+            in as the argv[] parameters to xFilter.
+            </para>
+            <para>
+            For example, if the aConstraint[3].argvIndex is set to 1, then 
+            when xFilter is called, the argv[0] passed to xFilter will have 
+            the EXPR value of the aConstraint[3] constraint.
+            </para>
+            <para>
+            By default, the SQLite core double checks all constraints on 
+            each row of the virtual table that it receives. If such a check 
+            is redundant, the xBestFilter method can suppress that double-check by 
+            setting aConstraintUsage[].omit.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="pIndex">
+            The native pointer to the sqlite3_index_info structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xDisconnect)(sqlite3_vtab *pVTab);
+            </code></para>
+            <para>
+            This method releases a connection to a virtual table. 
+            Only the sqlite3_vtab object is destroyed.
+            The virtual table is not destroyed and any backing store 
+            associated with the virtual table persists. 
+            </para>
+            This method undoes the work of xConnect.
+            <para>
+            This method is a destructor for a connection to the virtual table.
+            Contrast this method with xDestroy.  The xDestroy is a destructor
+            for the entire virtual table.
+            </para>
+            <para>
+            The xDisconnect method is required for every virtual table implementation,
+            though it is acceptable for the xDisconnect and xDestroy methods to be
+            the same function if that makes sense for the particular virtual table.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xDestroy)(sqlite3_vtab *pVTab);
+            </code></para>
+            <para>
+            This method releases a connection to a virtual table, just like 
+            the xDisconnect method, and it also destroys the underlying 
+            table implementation. This method undoes the work of xCreate.
+            </para>
+            <para>
+            The xDisconnect method is called whenever a database connection
+            that uses a virtual table is closed. The xDestroy method is only 
+            called when a DROP TABLE statement is executed against the virtual table.
+            </para>
+            <para>
+            The xDestroy method is required for every virtual table implementation,
+            though it is acceptable for the xDisconnect and xDestroy methods to be
+            the same function if that makes sense for the particular virtual table.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
+            <summary>
+            <para><code>
+              int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
+            </code></para>
+            <para>
+            The xOpen method creates a new cursor used for accessing (read and/or
+            writing) a virtual table.  A successful invocation of this method 
+            will allocate the memory for the sqlite3_vtab_cursor (or a subclass),
+            initialize the new object, and make *ppCursor point to the new object.
+            The successful call then returns SQLITE_OK.
+            </para>
+            <para>
+            For every successful call to this method, the SQLite core will
+            later invoke the xClose method to destroy 
+            the allocated cursor.
+            </para>
+            <para>
+            The xOpen method need not initialize the pVtab field of the
+            sqlite3_vtab_cursor structure.  The SQLite core will take care
+            of that chore automatically.
+            </para>
+            <para>
+            A virtual table implementation must be able to support an arbitrary
+            number of simultaneously open cursors.
+            </para>
+            <para>
+            When initially opened, the cursor is in an undefined state.
+            The SQLite core will invoke the xFilter method
+            on the cursor prior to any attempt to position or read from the cursor.
+            </para>
+            <para>
+            The xOpen method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="pCursor">
+            Upon success, this parameter must be modified to point to the newly
+            created native sqlite3_vtab_cursor derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xClose)(sqlite3_vtab_cursor*);
+            </code></para>
+            <para>
+            The xClose method closes a cursor previously opened by 
+            xOpen. 
+            The SQLite core will always call xClose once for each cursor opened 
+            using xOpen.
+            </para>
+            <para>
+            This method must release all resources allocated by the
+            corresponding xOpen call. The routine will not be called again even if it
+            returns an error.  The SQLite core will not use the
+            sqlite3_vtab_cursor again after it has been closed.
+            </para>
+            <para>
+            The xClose method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
+                            int argc, sqlite3_value **argv);
+            </code></para>
+            <para>
+            This method begins a search of a virtual table. 
+            The first argument is a cursor opened by xOpen. 
+            The next two arguments define a particular search index previously 
+            chosen by xBestIndex. The specific meanings of idxNum and idxStr 
+            are unimportant as long as xFilter and xBestIndex agree on what 
+            that meaning is.
+            </para>
+            <para>
+            The xBestIndex function may have requested the values of 
+            certain expressions using the aConstraintUsage[].argvIndex values 
+            of the sqlite3_index_info structure. 
+            Those values are passed to xFilter using the argc and argv parameters.
+            </para>
+            <para>
+            If the virtual table contains one or more rows that match the
+            search criteria, then the cursor must be left point at the first row.
+            Subsequent calls to xEof must return false (zero).
+            If there are no rows match, then the cursor must be left in a state 
+            that will cause the xEof to return true (non-zero).
+            The SQLite engine will use
+            the xColumn and xRowid methods to access that row content.
+            The xNext method will be used to advance to the next row.
+            </para>
+            <para>
+            This method must return SQLITE_OK if successful, or an sqlite 
+            error code if an error occurs.
+            </para>
+            <para>
+            The xFilter method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <param name="idxNum">
+            Number used to help identify the selected index.
+            </param>
+            <param name="idxStr">
+            The native pointer to the UTF-8 encoded string containing the
+            string used to help identify the selected index.
+            </param>
+            <param name="argc">
+            The number of native pointers to sqlite3_value structures specified
+            in <paramref name="argv" />.
+            </param>
+            <param name="argv">
+            An array of native pointers to sqlite3_value structures containing
+            filtering criteria for the selected index.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xNext)(sqlite3_vtab_cursor*);
+            </code></para>
+            <para>
+            The xNext method advances a virtual table cursor
+            to the next row of a result set initiated by xFilter. 
+            If the cursor is already pointing at the last row when this 
+            routine is called, then the cursor no longer points to valid 
+            data and a subsequent call to the xEof method must return true (non-zero). 
+            If the cursor is successfully advanced to another row of content, then
+            subsequent calls to xEof must return false (zero).
+            </para>
+            <para>
+            This method must return SQLITE_OK if successful, or an sqlite 
+            error code if an error occurs.
+            </para>
+            <para>
+            The xNext method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xEof)(sqlite3_vtab_cursor*);
+            </code></para>
+            <para>
+            The xEof method must return false (zero) if the specified cursor 
+            currently points to a valid row of data, or true (non-zero) otherwise. 
+            This method is called by the SQL engine immediately after each 
+            xFilter and xNext invocation.
+            </para>
+            <para>
+            The xEof method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <returns>
+            Non-zero if no more rows are available; zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
+            <summary>
+            <para><code>
+              int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
+            </code></para>
+            <para>
+            The SQLite core invokes this method in order to find the value for 
+            the N-th column of the current row. N is zero-based so the first column 
+            is numbered 0. 
+            The xColumn method may return its result back to SQLite using one of the
+            following interface:
+            </para>
+            <para>
+            <![CDATA[<ul>]]>
+            <![CDATA[<li>]]> sqlite3_result_blob()
+            <![CDATA[<li>]]> sqlite3_result_double()
+            <![CDATA[<li>]]> sqlite3_result_int()
+            <![CDATA[<li>]]> sqlite3_result_int64()
+            <![CDATA[<li>]]> sqlite3_result_null()
+            <![CDATA[<li>]]> sqlite3_result_text()
+            <![CDATA[<li>]]> sqlite3_result_text16()
+            <![CDATA[<li>]]> sqlite3_result_text16le()
+            <![CDATA[<li>]]> sqlite3_result_text16be()
+            <![CDATA[<li>]]> sqlite3_result_zeroblob()
+            <![CDATA[</ul>]]>
+            </para>
+            <para>
+            If the xColumn method implementation calls none of the functions above,
+            then the value of the column defaults to an SQL NULL.
+            </para>
+            <para>
+            To raise an error, the xColumn method should use one of the result_text() 
+            methods to set the error message text, then return an appropriate
+            error code.  The xColumn method must return SQLITE_OK on success.
+            </para>
+            <para>
+            The xColumn method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <param name="pContext">
+            The native pointer to the sqlite3_context structure to be used
+            for returning the specified column value to the SQLite core
+            library.
+            </param>
+            <param name="index">
+            The zero-based index corresponding to the column containing the
+            value to be returned.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
+            <summary>
+            <para><code>
+              int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
+            </code></para>
+            <para>
+            A successful invocation of this method will cause *pRowid to be
+            filled with the rowid of row that the
+            virtual table cursor pCur is currently pointing at.
+            This method returns SQLITE_OK on success.
+            It returns an appropriate error code on failure.
+            </para>
+            <para>
+            The xRowid method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <param name="rowId">
+            Upon success, this parameter must be modified to contain the unique
+            integer row identifier for the current row for the specified cursor.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
+            <summary>
+            <para><code>
+              int (*xUpdate)(
+                sqlite3_vtab *pVTab,
+                int argc,
+                sqlite3_value **argv,
+                sqlite_int64 *pRowid
+              );
+            </code></para>
+            <para>
+            All changes to a virtual table are made using the xUpdate method.
+            This one method can be used to insert, delete, or update.
+            </para>
+            <para>
+            The argc parameter specifies the number of entries in the argv array. 
+            The value of argc will be 1 for a pure delete operation or N+2 for an insert
+            or replace or update where N is the number of columns in the table.  
+            In the previous sentence, N includes any hidden columns.
+            </para>
+            <para>
+            Every argv entry will have a non-NULL value in C but may contain the 
+            SQL value NULL.  In other words, it is always true that
+            <![CDATA[<tt>]]>argv[i]!=0<![CDATA[</tt>]]> for <![CDATA[<b>]]>i<![CDATA[</b>]]> between 0 and <![CDATA[<tt>]]>argc-1<![CDATA[</tt>]]>.
+            However, it might be the case that
+            <![CDATA[<tt>]]>sqlite3_value_type(argv[i])==SQLITE_NULL<![CDATA[</tt>]]>.
+            </para>
+            <para>
+            The argv[0] parameter is the rowid of a row in the virtual table 
+            to be deleted. If argv[0] is an SQL NULL, then no deletion occurs.
+            </para>
+            <para>
+            The argv[1] parameter is the rowid of a new row to be inserted 
+            into the virtual table. If argv[1] is an SQL NULL, then the implementation 
+            must choose a rowid for the newly inserted row. Subsequent argv[] 
+            entries contain values of the columns of the virtual table, in the 
+            order that the columns were declared. The number of columns will
+            match the table declaration that the xConnect or xCreate method made 
+            using the sqlite3_declare_vtab() call.  All hidden columns are included.
+            </para>
+            <para>
+            When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), the 
+            implementation must set *pRowid to the rowid of the newly inserted row; 
+            this will become the value returned by the sqlite3_last_insert_rowid()
+            function. Setting this value in all the other cases is a harmless no-op;
+            the SQLite engine ignores the *pRowid return value if argc==1 or 
+            argv[1] is not an SQL NULL.
+            </para>
+            <para>
+            Each call to xUpdate will fall into one of cases shown below.
+            Not that references to <![CDATA[<b>]]>argv[i]<![CDATA[</b>]]> mean the SQL value
+            held within the argv[i] object, not the argv[i]
+            object itself.
+            </para>
+            <para><code>
+            <![CDATA[<dl>]]>
+            <![CDATA[<dt>]]><![CDATA[<b>]]>argc = 1<![CDATA[</b>]]>
+            <![CDATA[<dd>]]>The single row with rowid equal to argv[0] is deleted. No insert occurs.
+            <![CDATA[<dt>]]><![CDATA[<b>]]>argc &gt; 1 <![CDATA[<br>]]> argv[0] = NULL<![CDATA[</b>]]>
+            <![CDATA[<dd>]]>A new row is inserted with a rowid argv[1] and column values in
+                   argv[2] and following.  If argv[1] is an SQL NULL,
+                   the a new unique rowid is generated automatically.
+            <![CDATA[<dt>]]><![CDATA[<b>]]>argc &gt; 1 <![CDATA[<br>]]> argv[0] &#8800; NULL <![CDATA[<br>]]> argv[0] = argv[1]<![CDATA[</b>]]>
+            <![CDATA[<dd>]]>The row with rowid argv[0] is updated with new values 
+                   in argv[2] and following parameters.
+            <![CDATA[<dt>]]><![CDATA[<b>]]>argc &gt; 1 <![CDATA[<br>]]> argv[0] &#8800; NULL <![CDATA[<br>]]> argv[0] &#8800; argv[1]<![CDATA[</b>]]>
+            <![CDATA[<dd>]]> The row with rowid argv[0] is updated with rowid argv[1] 
+            and new values in argv[2] and following parameters. This will occur 
+            when an SQL statement updates a rowid, as in the statement:
+            <para><code>
+               UPDATE table SET rowid=rowid+1 WHERE ...; 
+            </code></para>
+            <![CDATA[</dl>]]>
+            </code></para>
+            <para>
+            The xUpdate method must return SQLITE_OK if and only if it is
+            successful.  If a failure occurs, the xUpdate must return an appropriate
+            error code.  On a failure, the pVTab->zErrMsg element may optionally
+            be replaced with error message text stored in memory allocated from SQLite 
+            using functions such as sqlite3_mprintf() or sqlite3_malloc().
+            </para>
+            <para>
+            If the xUpdate method violates some constraint of the virtual table
+            (including, but not limited to, attempting to store a value of the wrong 
+            datatype, attempting to store a value that is too
+            large or too small, or attempting to change a read-only value) then the
+            xUpdate must fail with an appropriate error code.
+            </para>
+            <para>
+            There might be one or more sqlite3_vtab_cursor objects open and in use 
+            on the virtual table instance and perhaps even on the row of the virtual
+            table when the xUpdate method is invoked.  The implementation of
+            xUpdate must be prepared for attempts to delete or modify rows of the table
+            out from other existing cursors.  If the virtual table cannot accommodate
+            such changes, the xUpdate method must return an error code.
+            </para>
+            <para>
+            The xUpdate method is optional.
+            If the xUpdate pointer in the sqlite3_module for a virtual table
+            is a NULL pointer, then the virtual table is read-only.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="argc">
+            The number of new or modified column values contained in
+            <paramref name="argv" />.
+            </param>
+            <param name="argv">
+            The array of native pointers to sqlite3_value structures containing
+            the new or modified column values, if any.
+            </param>
+            <param name="rowId">
+            Upon success, this parameter must be modified to contain the unique
+            integer row identifier for the row that was inserted, if any.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xBegin)(sqlite3_vtab *pVTab);
+            </code></para>
+            <para>
+            This method begins a transaction on a virtual table.
+            This is method is optional.  The xBegin pointer of sqlite3_module
+            may be NULL.
+            </para>
+            <para>
+            This method is always followed by one call to either the
+            xCommit or xRollback method.  Virtual table transactions do
+            not nest, so the xBegin method will not be invoked more than once
+            on a single virtual table
+            without an intervening call to either xCommit or xRollback.
+            Multiple calls to other methods can and likely will occur in between
+            the xBegin and the corresponding xCommit or xRollback.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xSync)(sqlite3_vtab *pVTab);
+            </code></para>
+            <para>
+            This method signals the start of a two-phase commit on a virtual
+            table.
+            This is method is optional.  The xSync pointer of sqlite3_module
+            may be NULL.
+            </para>
+            <para>
+            This method is only invoked after call to the xBegin method and
+            prior to an xCommit or xRollback.  In order to implement two-phase
+            commit, the xSync method on all virtual tables is invoked prior to
+            invoking the xCommit method on any virtual table.  If any of the 
+            xSync methods fail, the entire transaction is rolled back.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xCommit)(sqlite3_vtab *pVTab);
+            </code></para>
+            <para>
+            This method causes a virtual table transaction to commit.
+            This is method is optional.  The xCommit pointer of sqlite3_module
+            may be NULL.
+            </para>
+            <para>
+            A call to this method always follows a prior call to xBegin and
+            xSync.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xRollback)(sqlite3_vtab *pVTab);
+            </code></para>
+            <para>
+            This method causes a virtual table transaction to rollback.
+            This is method is optional.  The xRollback pointer of sqlite3_module
+            may be NULL.
+            </para>
+            <para>
+            A call to this method always follows a prior call to xBegin.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
+            <summary>
+            <para><code>
+              int (*xFindFunction)(
+                sqlite3_vtab *pVtab,
+                int nArg,
+                const char *zName,
+                void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
+                void **ppArg
+              );
+            </code></para>
+            <para>
+            This method is called during sqlite3_prepare() to give the virtual
+            table implementation an opportunity to overload functions. 
+            This method may be set to NULL in which case no overloading occurs.
+            </para>
+            <para>
+            When a function uses a column from a virtual table as its first 
+            argument, this method is called to see if the virtual table would 
+            like to overload the function. The first three parameters are inputs: 
+            the virtual table, the number of arguments to the function, and the 
+            name of the function. If no overloading is desired, this method
+            returns 0. To overload the function, this method writes the new 
+            function implementation into *pxFunc and writes user data into *ppArg 
+            and returns 1.
+            </para>
+            <para>
+            Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse 
+            the order of their arguments. So "like(A,B)" is equivalent to "B like A". 
+            For the form "B like A" the B term is considered the first argument 
+            to the function. But for "like(A,B)" the A term is considered the 
+            first argument.
+            </para>
+            <para>
+            The function pointer returned by this routine must be valid for
+            the lifetime of the sqlite3_vtab object given in the first parameter.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="nArg">
+            The number of arguments to the function being sought.
+            </param>
+            <param name="zName">
+            The name of the function being sought.
+            </param>
+            <param name="callback">
+            Upon success, this parameter must be modified to contain the
+            delegate responsible for implementing the specified function.
+            </param>
+            <param name="pClientData">
+            Upon success, this parameter must be modified to contain the
+            native user-data pointer associated with
+            <paramref name="callback" />.
+            </param>
+            <returns>
+            Non-zero if the specified function was found; zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
+            <summary>
+            <para><code>
+              int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
+            </code></para>
+            <para>
+            This method provides notification that the virtual table implementation
+            that the virtual table will be given a new name. 
+            If this method returns SQLITE_OK then SQLite renames the table.
+            If this method returns an error code then the renaming is prevented.
+            </para>
+            <para>
+            The xRename method is required for every virtual table implementation.
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="zNew">
+            The native pointer to the UTF-8 encoded string containing the new
+            name for the virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
+            <summary>
+            <para><code>
+              int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+              int (*xRelease)(sqlite3_vtab *pVtab, int);
+              int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+            </code></para>
+            <para>
+            These methods provide the virtual table implementation an opportunity to
+            implement nested transactions.  They are always optional and will only be
+            called in SQLite version 3.7.7 and later.
+            </para>
+            <para>
+            When xSavepoint(X,N) is invoked, that is a signal to the virtual table X
+            that it should save its current state as savepoint N.  
+            A subsequent call
+            to xRollbackTo(X,R) means that the state of the virtual table should return
+            to what it was when xSavepoint(X,R) was last called.  
+            The call
+            to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the
+            invalided savepoints will be rolled back or released without first
+            being reinitialized by a call to xSavepoint().  
+            A call to xRelease(X,M) invalidates all savepoints where N>=M.
+            </para>
+            <para>
+            None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever
+            be called except in between calls to xBegin() and 
+            either xCommit() or xRollback().
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="iSavepoint">
+            This is an integer identifier under which the the current state of
+            the virtual table should be saved.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
+            <summary>
+            <para><code>
+              int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+              int (*xRelease)(sqlite3_vtab *pVtab, int);
+              int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+            </code></para>
+            <para>
+            These methods provide the virtual table implementation an opportunity to
+            implement nested transactions.  They are always optional and will only be
+            called in SQLite version 3.7.7 and later.
+            </para>
+            <para>
+            When xSavepoint(X,N) is invoked, that is a signal to the virtual table X
+            that it should save its current state as savepoint N.  
+            A subsequent call
+            to xRollbackTo(X,R) means that the state of the virtual table should return
+            to what it was when xSavepoint(X,R) was last called.  
+            The call
+            to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the
+            invalided savepoints will be rolled back or released without first
+            being reinitialized by a call to xSavepoint().  
+            A call to xRelease(X,M) invalidates all savepoints where N>=M.
+            </para>
+            <para>
+            None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever
+            be called except in between calls to xBegin() and 
+            either xCommit() or xRollback().
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="iSavepoint">
+            This is an integer used to indicate that any saved states with an
+            identifier greater than or equal to this should be deleted by the
+            virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
+            <summary>
+            <para><code>
+              int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+              int (*xRelease)(sqlite3_vtab *pVtab, int);
+              int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+            </code></para>
+            <para>
+            These methods provide the virtual table implementation an opportunity to
+            implement nested transactions.  They are always optional and will only be
+            called in SQLite version 3.7.7 and later.
+            </para>
+            <para>
+            When xSavepoint(X,N) is invoked, that is a signal to the virtual table X
+            that it should save its current state as savepoint N.  
+            A subsequent call
+            to xRollbackTo(X,R) means that the state of the virtual table should return
+            to what it was when xSavepoint(X,R) was last called.  
+            The call
+            to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the
+            invalided savepoints will be rolled back or released without first
+            being reinitialized by a call to xSavepoint().  
+            A call to xRelease(X,M) invalidates all savepoints where N>=M.
+            </para>
+            <para>
+            None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever
+            be called except in between calls to xBegin() and 
+            either xCommit() or xRollback().
+            </para>
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="iSavepoint">
+            This is an integer identifier used to specify a specific saved
+            state for the virtual table for it to restore itself back to, which
+            should also have the effect of deleting all saved states with an
+            integer identifier greater than this one.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteContext">
+            <summary>
+            This class represents a context from the SQLite core library that can
+            be passed to the sqlite3_result_*() and associated functions.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.ISQLiteNativeHandle">
+            <summary>
+            This interface represents a native handle provided by the SQLite core
+            library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.ISQLiteNativeHandle.NativeHandle">
+            <summary>
+            The native handle value.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteContext.pContext">
+            <summary>
+            The native context handle.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.#ctor(System.IntPtr)">
+            <summary>
+            Constructs an instance of this class using the specified native
+            context handle.
+            </summary>
+            <param name="pContext">
+            The native context handle to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetNull">
+            <summary>
+            Sets the context result to NULL.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetDouble(System.Double)">
+            <summary>
+            Sets the context result to the specified <see cref="T:System.Double"/>
+            value.
+            </summary>
+            <param name="value">
+            The <see cref="T:System.Double"/> value to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetInt(System.Int32)">
+            <summary>
+            Sets the context result to the specified <see cref="T:System.Int32"/>
+            value.
+            </summary>
+            <param name="value">
+            The <see cref="T:System.Int32"/> value to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetInt64(System.Int64)">
+            <summary>
+            Sets the context result to the specified <see cref="T:System.Int64"/>
+            value.
+            </summary>
+            <param name="value">
+            The <see cref="T:System.Int64"/> value to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetString(System.String)">
+            <summary>
+            Sets the context result to the specified <see cref="T:System.String"/>
+            value.
+            </summary>
+            <param name="value">
+            The <see cref="T:System.String"/> value to use.  This value will be
+            converted to the UTF-8 encoding prior to being used.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetError(System.String)">
+            <summary>
+            Sets the context result to the specified <see cref="T:System.String"/>
+            value containing an error message.
+            </summary>
+            <param name="value">
+            The <see cref="T:System.String"/> value containing the error message text.
+            This value will be converted to the UTF-8 encoding prior to being
+            used.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetErrorCode(System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Sets the context result to the specified <see cref="T:system.Data.SQLite.SQLiteErrorCode"/>
+            value.
+            </summary>
+            <param name="value">
+            The <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetErrorTooBig">
+            <summary>
+            Sets the context result to contain the error code SQLITE_TOOBIG.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetErrorNoMemory">
+            <summary>
+            Sets the context result to contain the error code SQLITE_NOMEM.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetBlob(System.Byte[])">
+            <summary>
+            Sets the context result to the specified <see cref="T:System.Byte"/> array
+            value.
+            </summary>
+            <param name="value">
+            The <see cref="T:System.Byte"/> array value to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetZeroBlob(System.Int32)">
+            <summary>
+            Sets the context result to a BLOB of zeros of the specified size.
+            </summary>
+            <param name="value">
+            The number of zero bytes to use for the BLOB context result.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteContext.SetValue(System.Data.SQLite.SQLiteValue)">
+            <summary>
+            Sets the context result to the specified <see cref="T:system.Data.SQLite.SQLiteValue"/>.
+            </summary>
+            <param name="value">
+            The <see cref="T:system.Data.SQLite.SQLiteValue"/> to use.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteContext.NativeHandle">
+            <summary>
+            Returns the underlying SQLite native handle associated with this
+            object instance.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteValue">
+            <summary>
+            This class represents a value from the SQLite core library that can be
+            passed to the sqlite3_value_*() and associated functions.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteValue.pValue">
+            <summary>
+            The native value handle.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.#ctor(System.IntPtr)">
+            <summary>
+            Constructs an instance of this class using the specified native
+            value handle.
+            </summary>
+            <param name="pValue">
+            The native value handle to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.PreventNativeAccess">
+            <summary>
+            Invalidates the native value handle, thereby preventing further
+            access to it from this object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.ArrayFromSizeAndIntPtr(System.Int32,System.IntPtr)">
+            <summary>
+            Converts a logical array of native pointers to native sqlite3_value
+            structures into a managed array of <see cref="T:system.Data.SQLite.SQLiteValue"/>
+            object instances.
+            </summary>
+            <param name="argc">
+            The number of elements in the logical array of native sqlite3_value
+            structures.
+            </param>
+            <param name="argv">
+            The native pointer to the logical array of native sqlite3_value
+            structures to convert.
+            </param>
+            <returns>
+            The managed array of <see cref="T:system.Data.SQLite.SQLiteValue"/> object instances or
+            null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetTypeAffinity">
+            <summary>
+            Gets and returns the type affinity associated with this value.
+            </summary>
+            <returns>
+            The type affinity associated with this value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetBytes">
+            <summary>
+            Gets and returns the number of bytes associated with this value, if
+            it refers to a UTF-8 encoded string.
+            </summary>
+            <returns>
+            The number of bytes associated with this value.  The returned value
+            may be zero.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetInt">
+            <summary>
+            Gets and returns the <see cref="T:System.Int32"/> associated with this
+            value.
+            </summary>
+            <returns>
+            The <see cref="T:System.Int32"/> associated with this value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetInt64">
+            <summary>
+            Gets and returns the <see cref="T:System.Int64"/> associated with
+            this value.
+            </summary>
+            <returns>
+            The <see cref="T:System.Int64"/> associated with this value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetDouble">
+            <summary>
+            Gets and returns the <see cref="T:System.Double"/> associated with this
+            value.
+            </summary>
+            <returns>
+            The <see cref="T:System.Double"/> associated with this value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetString">
+            <summary>
+            Gets and returns the <see cref="T:System.String"/> associated with this
+            value.
+            </summary>
+            <returns>
+            The <see cref="T:System.String"/> associated with this value.  The value is
+            converted from the UTF-8 encoding prior to being returned.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.GetBlob">
+            <summary>
+            Gets and returns the <see cref="T:System.Byte"/> array associated with this
+            value.
+            </summary>
+            <returns>
+            The <see cref="T:System.Byte"/> array associated with this value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteValue.Persist">
+            <summary>
+            Uses the native value handle to obtain and store the managed value
+            for this object instance, thus saving it for later use.  The type
+            of the managed value is determined by the type affinity of the
+            native value.  If the type affinity is not recognized by this
+            method, no work is done and false is returned.
+            </summary>
+            <returns>
+            Non-zero if the native value was persisted successfully.
+            </returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteValue.NativeHandle">
+            <summary>
+            Returns the underlying SQLite native handle associated with this
+            object instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteValue.Persisted">
+            <summary>
+            Returns non-zero if the native SQLite value has been successfully
+            persisted as a managed value within this object instance (i.e. the
+            <see cref="P:system.Data.SQLite.SQLiteValue.Value"/> property may then be read successfully).
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteValue.Value">
+            <summary>
+            If the managed value for this object instance is available (i.e. it
+            has been previously persisted via the <see cref="M:system.Data.SQLite.SQLiteValue.Persist"/>) method,
+            that value is returned; otherwise, an exception is thrown.  The
+            returned value may be null.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexConstraintOp">
+            <summary>
+            These are the allowed values for the operators that are part of a
+            constraint term in the WHERE clause of a query that uses a virtual
+            table.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.EqualTo">
+            <summary>
+            This value represents the equality operator.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThan">
+            <summary>
+            This value represents the greater than operator.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThanOrEqualTo">
+            <summary>
+            This value represents the less than or equal to operator.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.LessThan">
+            <summary>
+            This value represents the less than operator.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.GreaterThanOrEqualTo">
+            <summary>
+            This value represents the greater than or equal to operator.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintOp.Match">
+            <summary>
+            This value represents the MATCH operator.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexFlags">
+            <summary>
+            These are the allowed values for the index flags from the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexFlags.None">
+            <summary>
+            No special handling.  This is the default.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexFlags.ScanUnique">
+            <summary>
+            This value indicates that the scan of the index will visit at
+            most one row.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexConstraint">
+            <summary>
+            This class represents the native sqlite3_index_constraint structure
+            from the SQLite core library.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint)">
+            <summary>
+            Constructs an instance of this class using the specified native
+            sqlite3_index_constraint structure.
+            </summary>
+            <param name="constraint">
+            The native sqlite3_index_constraint structure to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexConstraint.#ctor(System.Int32,System.Data.SQLite.SQLiteIndexConstraintOp,System.Byte,System.Int32)">
+            <summary>
+            Constructs an instance of this class using the specified field
+            values.
+            </summary>
+            <param name="iColumn">
+            Column on left-hand side of constraint.
+            </param>
+            <param name="op">
+            Constraint operator (<see cref="T:system.Data.SQLite.SQLiteIndexConstraintOp"/>).
+            </param>
+            <param name="usable">
+            True if this constraint is usable.
+            </param>
+            <param name="iTermOffset">
+            Used internally - <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
+            should ignore.
+            </param>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraint.iColumn">
+            <summary>
+            Column on left-hand side of constraint.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraint.op">
+            <summary>
+            Constraint operator (<see cref="T:system.Data.SQLite.SQLiteIndexConstraintOp"/>).
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraint.usable">
+            <summary>
+            True if this constraint is usable.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraint.iTermOffset">
+            <summary>
+            Used internally - <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
+            should ignore.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexOrderBy">
+            <summary>
+            This class represents the native sqlite3_index_orderby structure from
+            the SQLite core library.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_orderby)">
+            <summary>
+            Constructs an instance of this class using the specified native
+            sqlite3_index_orderby structure.
+            </summary>
+            <param name="orderBy">
+            The native sqlite3_index_orderby structure to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexOrderBy.#ctor(System.Int32,System.Byte)">
+            <summary>
+            Constructs an instance of this class using the specified field
+            values.
+            </summary>
+            <param name="iColumn">
+            Column number.
+            </param>
+            <param name="desc">
+            True for DESC.  False for ASC.
+            </param>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexOrderBy.iColumn">
+            <summary>
+            Column number.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexOrderBy.desc">
+            <summary>
+            True for DESC.  False for ASC.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexConstraintUsage">
+            <summary>
+            This class represents the native sqlite3_index_constraint_usage
+            structure from the SQLite core library.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor">
+            <summary>
+            Constructs a default instance of this class.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint_usage)">
+            <summary>
+            Constructs an instance of this class using the specified native
+            sqlite3_index_constraint_usage structure.
+            </summary>
+            <param name="constraintUsage">
+            The native sqlite3_index_constraint_usage structure to use.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexConstraintUsage.#ctor(System.Int32,System.Byte)">
+            <summary>
+            Constructs an instance of this class using the specified field
+            values.
+            </summary>
+            <param name="argvIndex">
+            If greater than 0, constraint is part of argv to xFilter.
+            </param>
+            <param name="omit">
+            Do not code a test for this constraint.
+            </param>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.argvIndex">
+            <summary>
+            If greater than 0, constraint is part of argv to xFilter.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteIndexConstraintUsage.omit">
+            <summary>
+            Do not code a test for this constraint.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexInputs">
+            <summary>
+            This class represents the various inputs provided by the SQLite core
+            library to the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexInputs.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="nConstraint">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexConstraint"/> instances to
+            pre-allocate space for.
+            </param>
+            <param name="nOrderBy">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexOrderBy"/> instances to
+            pre-allocate space for.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexInputs.Constraints">
+            <summary>
+            An array of <see cref="T:system.Data.SQLite.SQLiteIndexConstraint"/> object instances,
+            each containing information supplied by the SQLite core library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexInputs.OrderBys">
+            <summary>
+            An array of <see cref="T:system.Data.SQLite.SQLiteIndexOrderBy"/> object instances,
+            each containing information supplied by the SQLite core library.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndexOutputs">
+            <summary>
+            This class represents the various outputs provided to the SQLite core
+            library by the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexOutputs.#ctor(System.Int32)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="nConstraint">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexConstraintUsage"/> instances
+            to pre-allocate space for.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseEstimatedRows">
+            <summary>
+            Determines if the native estimatedRows field can be used, based on
+            the available version of the SQLite core library.
+            </summary>
+            <returns>
+            Non-zero if the <see cref="P:system.Data.SQLite.SQLiteIndexOutputs.EstimatedRows"/> property is supported
+            by the SQLite core library.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseIndexFlags">
+            <summary>
+            Determines if the native flags field can be used, based on the
+            available version of the SQLite core library.
+            </summary>
+            <returns>
+            Non-zero if the <see cref="P:system.Data.SQLite.SQLiteIndexOutputs.IndexFlags"/> property is supported by
+            the SQLite core library.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndexOutputs.CanUseColumnsUsed">
+            <summary>
+            Determines if the native flags field can be used, based on the
+            available version of the SQLite core library.
+            </summary>
+            <returns>
+            Non-zero if the <see cref="P:system.Data.SQLite.SQLiteIndexOutputs.ColumnsUsed"/> property is supported by
+            the SQLite core library.
+            </returns>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.ConstraintUsages">
+            <summary>
+            An array of <see cref="T:system.Data.SQLite.SQLiteIndexConstraintUsage"/> object
+            instances, each containing information to be supplied to the SQLite
+            core library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexNumber">
+            <summary>
+            Number used to help identify the selected index.  This value will
+            later be provided to the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
+            method.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexString">
+            <summary>
+            String used to help identify the selected index.  This value will
+            later be provided to the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
+            method.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.NeedToFreeIndexString">
+            <summary>
+            Non-zero if the index string must be freed by the SQLite core
+            library.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.OrderByConsumed">
+            <summary>
+            True if output is already ordered.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedCost">
+            <summary>
+            Estimated cost of using this index.  Using a null value here
+            indicates that a default estimated cost value should be used.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.EstimatedRows">
+            <summary>
+            Estimated number of rows returned.  Using a null value here
+            indicates that a default estimated rows value should be used.
+            This property has no effect if the SQLite core library is not at
+            least version 3.8.2.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.IndexFlags">
+            <summary>
+            The flags that should be used with this index.  Using a null value
+            here indicates that a default flags value should be used.  This
+            property has no effect if the SQLite core library is not at least
+            version 3.9.0.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndexOutputs.ColumnsUsed">
+            <summary>
+            <para>
+            Indicates which columns of the virtual table may be required by the
+            current scan.  Virtual table columns are numbered from zero in the
+            order in which they appear within the CREATE TABLE statement passed
+            to sqlite3_declare_vtab().  For the first 63 columns (columns 0-62),
+            the corresponding bit is set within the bit mask if the column may
+            be required by SQLite.  If the table has at least 64 columns and
+            any column to the right of the first 63 is required, then bit 63 of
+            colUsed is also set.  In other words, column iCol may be required
+            if the expression
+            </para>
+            <para><code>
+            (colUsed &amp; ((sqlite3_uint64)1 &lt;&lt; (iCol&gt;=63 ? 63 : iCol)))
+            </code></para>
+            <para>
+            evaluates to non-zero.  Using a null value here indicates that a
+            default flags value should be used.  This property has no effect if
+            the SQLite core library is not at least version 3.10.0.
+            </para>
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteIndex">
+            <summary>
+            This class represents the various inputs and outputs used with the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndex.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="nConstraint">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexConstraint"/> (and
+            <see cref="T:system.Data.SQLite.SQLiteIndexConstraintUsage"/>) instances to
+            pre-allocate space for.
+            </param>
+            <param name="nOrderBy">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexOrderBy"/> instances to
+            pre-allocate space for.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndex.SizeOfNative(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
+            <summary>
+            Attempts to determine the structure sizes needed to create and
+            populate a native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_info"/>
+            structure.
+            </summary>
+            <param name="sizeOfInfoType">
+            The size of the native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_info"/>
+            structure is stored here.
+            </param>
+            <param name="sizeOfConstraintType">
+            The size of the native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint"/>
+            structure is stored here.
+            </param>
+            <param name="sizeOfOrderByType">
+            The size of the native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_orderby"/>
+            structure is stored here.
+            </param>
+            <param name="sizeOfConstraintUsageType">
+            The size of the native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_constraint_usage"/>
+            structure is stored here.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndex.AllocateAndInitializeNative(System.Int32,System.Int32)">
+            <summary>
+            Attempts to allocate and initialize a native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_info"/>
+            structure.
+            </summary>
+            <param name="nConstraint">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexConstraint"/> instances to
+            pre-allocate space for.
+            </param>
+            <param name="nOrderBy">
+            The number of <see cref="T:system.Data.SQLite.SQLiteIndexOrderBy"/> instances to
+            pre-allocate space for.
+            </param>
+            <returns>
+            The newly allocated native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_info"/> structure
+            -OR- <see cref="F:System.IntPtr.Zero"/> if it could not be fully allocated.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndex.FreeNative(System.IntPtr)">
+            <summary>
+            Frees all the memory associated with a native
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_index_info"/>
+            structure.
+            </summary>
+            <param name="pIndex">
+            The native pointer to the native sqlite3_index_info structure to
+            free.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndex.FromIntPtr(System.IntPtr,System.Boolean,System.Data.SQLite.SQLiteIndex@)">
+            <summary>
+            Converts a native pointer to a native sqlite3_index_info structure
+            into a new <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance.
+            </summary>
+            <param name="pIndex">
+            The native pointer to the native sqlite3_index_info structure to
+            convert.
+            </param>
+            <param name="includeOutput">
+            Non-zero to include fields from the outputs portion of the native
+            structure; otherwise, the "output" fields will not be read.
+            </param>
+            <param name="index">
+            Upon success, this parameter will be modified to contain the newly
+            created <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteIndex.ToIntPtr(System.Data.SQLite.SQLiteIndex,System.IntPtr,System.Boolean)">
+            <summary>
+            Populates the outputs of a pre-allocated native sqlite3_index_info
+            structure using an existing <see cref="T:system.Data.SQLite.SQLiteIndex"/> object
+            instance.
+            </summary>
+            <param name="index">
+            The existing <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance containing
+            the output data to use.
+            </param>
+            <param name="pIndex">
+            The native pointer to the pre-allocated native sqlite3_index_info
+            structure.
+            </param>
+            <param name="includeInput">
+            Non-zero to include fields from the inputs portion of the native
+            structure; otherwise, the "input" fields will not be written.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndex.Inputs">
+            <summary>
+            The <see cref="T:system.Data.SQLite.SQLiteIndexInputs"/> object instance containing
+            the inputs to the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
+            method.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteIndex.Outputs">
+            <summary>
+            The <see cref="T:system.Data.SQLite.SQLiteIndexOutputs"/> object instance containing
+            the outputs from the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/>
+            method.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteVirtualTable">
+            <summary>
+            This class represents a managed virtual table implementation.  It is
+            not sealed and should be used as the base class for any user-defined
+            virtual table classes implemented in managed code.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTable.ModuleNameIndex">
+            <summary>
+            The index within the array of strings provided to the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
+            name of the module implementing this virtual table.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTable.DatabaseNameIndex">
+            <summary>
+            The index within the array of strings provided to the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
+            name of the database containing this virtual table.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTable.TableNameIndex">
+            <summary>
+            The index within the array of strings provided to the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods containing the
+            name of the virtual table.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.#ctor(System.String[])">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="arguments">
+            The original array of strings provided to the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.BestIndex(System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            This method should normally be used by the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method in order to
+            perform index selection based on the constraints provided by the
+            SQLite core library.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance containing all the
+            data for the inputs and outputs relating to index selection.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.Rename(System.String)">
+            <summary>
+            Attempts to record the renaming of the virtual table associated
+            with this object instance.
+            </summary>
+            <param name="name">
+            The new name for the virtual table.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:system.Data.SQLite.SQLiteVirtualTable.Dispose"/> method.  Zero if this method is being called
+            from the finalizer.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTable.Finalize">
+            <summary>
+            Finalizes this object instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTable.Arguments">
+            <summary>
+            The original array of strings provided to the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> and
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> methods.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTable.ModuleName">
+            <summary>
+            The name of the module implementing this virtual table.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTable.DatabaseName">
+            <summary>
+            The name of the database containing this virtual table.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTable.TableName">
+            <summary>
+            The name of the virtual table.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTable.Index">
+            <summary>
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance containing all the
+            data for the inputs and outputs relating to the most recent index
+            selection.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTable.NativeHandle">
+            <summary>
+            Returns the underlying SQLite native handle associated with this
+            object instance.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteVirtualTableCursor">
+            <summary>
+            This class represents a managed virtual table cursor implementation.
+            It is not sealed and should be used as the base class for any
+            user-defined virtual table cursor classes implemented in managed code.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.InvalidRowIndex">
+            <summary>
+            This value represents an invalid integer row sequence number.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTableCursor.rowIndex">
+            <summary>
+            The field holds the integer row sequence number for the current row
+            pointed to by this cursor object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this object instance.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.#ctor">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.TryPersistValues(System.Data.SQLite.SQLiteValue[])">
+            <summary>
+            Attempts to persist the specified <see cref="T:system.Data.SQLite.SQLiteValue"/> object
+            instances in order to make them available after the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method returns.
+            </summary>
+            <param name="values">
+            The array of <see cref="T:system.Data.SQLite.SQLiteValue"/> object instances to be
+            persisted.
+            </param>
+            <returns>
+            The number of <see cref="T:system.Data.SQLite.SQLiteValue"/> object instances that were
+            successfully persisted.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
+            <summary>
+            This method should normally be used by the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method in order to
+            perform filtering of the result rows and/or to record the filtering
+            criteria provided by the SQLite core library.
+            </summary>
+            <param name="indexNumber">
+            Number used to help identify the selected index.
+            </param>
+            <param name="indexString">
+            String used to help identify the selected index.
+            </param>
+            <param name="values">
+            The values corresponding to each column in the selected index.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.GetRowIndex">
+            <summary>
+            Determines the integer row sequence number for the current row.
+            </summary>
+            <returns>
+            The integer row sequence number for the current row -OR- zero if
+            it cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.NextRowIndex">
+            <summary>
+            Adjusts the integer row sequence number so that it refers to the
+            next row.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:system.Data.SQLite.SQLiteVirtualTableCursor.Dispose"/> method.  Zero if this method is being called
+            from the finalizer.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursor.Finalize">
+            <summary>
+            Finalizes this object instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Table">
+            <summary>
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this object instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexNumber">
+            <summary>
+            Number used to help identify the selected index.  This value will
+            be set via the <see cref="M:system.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.IndexString">
+            <summary>
+            String used to help identify the selected index.  This value will
+            be set via the <see cref="M:system.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.Values">
+            <summary>
+            The values used to filter the rows returned via this cursor object
+            instance.  This value will be set via the <see cref="M:system.Data.SQLite.SQLiteVirtualTableCursor.Filter(System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/>
+            method.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursor.NativeHandle">
+            <summary>
+            Returns the underlying SQLite native handle associated with this
+            object instance.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.ISQLiteManagedModule">
+            <summary>
+            This interface represents a virtual table implementation written in
+            managed code.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="connection">
+            The <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="pClientData">
+            The native user-data pointer associated with this module, as it was
+            provided to the SQLite core library when the native module instance
+            was created.
+            </param>
+            <param name="arguments">
+            The module name, database name, virtual table name, and all other
+            arguments passed to the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="table">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="error">
+            Upon failure, this parameter must be modified to contain an error
+            message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="connection">
+            The <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="pClientData">
+            The native user-data pointer associated with this module, as it was
+            provided to the SQLite core library when the native module instance
+            was created.
+            </param>
+            <param name="arguments">
+            The module name, database name, virtual table name, and all other
+            arguments passed to the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="table">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="error">
+            Upon failure, this parameter must be modified to contain an error
+            message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance containing all the
+            data for the inputs and outputs relating to index selection.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="cursor">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
+            with the newly opened virtual table cursor.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="indexNumber">
+            Number used to help identify the selected index.
+            </param>
+            <param name="indexString">
+            String used to help identify the selected index.
+            </param>
+            <param name="values">
+            The values corresponding to each column in the selected index.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <returns>
+            Non-zero if no more rows are available; zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="context">
+            The <see cref="T:system.Data.SQLite.SQLiteContext"/> object instance to be used for
+            returning the specified column value to the SQLite core library.
+            </param>
+            <param name="index">
+            The zero-based index corresponding to the column containing the
+            value to be returned.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="rowId">
+            Upon success, this parameter must be modified to contain the unique
+            integer row identifier for the current row for the specified cursor.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="values">
+            The array of <see cref="T:system.Data.SQLite.SQLiteValue"/> object instances containing
+            the new or modified column values, if any.
+            </param>
+            <param name="rowId">
+            Upon success, this parameter must be modified to contain the unique
+            integer row identifier for the row that was inserted, if any.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="argumentCount">
+            The number of arguments to the function being sought.
+            </param>
+            <param name="name">
+            The name of the function being sought.
+            </param>
+            <param name="function">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance responsible for
+            implementing the specified function.
+            </param>
+            <param name="pClientData">
+            Upon success, this parameter must be modified to contain the
+            native user-data pointer associated with
+            <paramref name="function"/>.
+            </param>
+            <returns>
+            Non-zero if the specified function was found; zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="newName">
+            The new name for the virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="savepoint">
+            This is an integer identifier under which the the current state of
+            the virtual table should be saved.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="savepoint">
+            This is an integer used to indicate that any saved states with an
+            identifier greater than or equal to this should be deleted by the
+            virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="savepoint">
+            This is an integer identifier used to specify a specific saved
+            state for the virtual table for it to restore itself back to, which
+            should also have the effect of deleting all saved states with an
+            integer identifier greater than this one.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="P:System.Data.SQLite.ISQLiteManagedModule.Declared">
+            <summary>
+            Returns non-zero if the schema for the virtual table has been
+            declared.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.ISQLiteManagedModule.Name">
+            <summary>
+            Returns the name of the module as it was registered with the SQLite
+            core library.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteMemory">
+            <summary>
+            This class contains static methods that are used to allocate,
+            manipulate, and free native memory provided by the SQLite core library.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMemory.Allocate(System.Int32)">
+            <summary>
+            Allocates at least the specified number of bytes of native memory
+            via the SQLite core library sqlite3_malloc() function and returns
+            the resulting native pointer.
+            </summary>
+            <param name="size">
+            The number of bytes to allocate.
+            </param>
+            <returns>
+            The native pointer that points to a block of memory of at least the
+            specified size -OR- <see cref="F:System.IntPtr.Zero"/> if the memory could
+            not be allocated.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMemory.Size(System.IntPtr)">
+            <summary>
+            Gets and returns the actual size of the specified memory block that
+            was previously obtained from the <see cref="M:system.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
+            </summary>
+            <param name="pMemory">
+            The native pointer to the memory block previously obtained from the
+            <see cref="M:system.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
+            </param>
+            <returns>
+            The actual size, in bytes, of the memory block specified via the
+            native pointer.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMemory.Free(System.IntPtr)">
+            <summary>
+            Frees a memory block previously obtained from the
+            <see cref="M:system.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
+            </summary>
+            <param name="pMemory">
+            The native pointer to the memory block previously obtained from the
+            <see cref="M:system.Data.SQLite.SQLiteMemory.Allocate(System.Int32)"/> method.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteString">
+            <summary>
+            This class contains static methods that are used to deal with native
+            UTF-8 string pointers to be used with the SQLite core library.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteString.ThirtyBits">
+            <summary>
+            This is the maximum possible length for the native UTF-8 encoded
+            strings used with the SQLite core library.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteString.Utf8Encoding">
+            <summary>
+            This is the <see cref="T:System.Text.Encoding"/> object instance used to handle
+            conversions from/to UTF-8.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.GetUtf8BytesFromString(System.String)">
+            <summary>
+            Converts the specified managed string into the UTF-8 encoding and
+            returns the array of bytes containing its representation in that
+            encoding.
+            </summary>
+            <param name="value">
+            The managed string to convert.
+            </param>
+            <returns>
+            The array of bytes containing the representation of the managed
+            string in the UTF-8 encoding or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.GetStringFromUtf8Bytes(System.Byte[])">
+            <summary>
+            Converts the specified array of bytes representing a string in the
+            UTF-8 encoding and returns a managed string.
+            </summary>
+            <param name="bytes">
+            The array of bytes to convert.
+            </param>
+            <returns>
+            The managed string or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.ProbeForUtf8ByteLength(System.IntPtr,System.Int32)">
+            <summary>
+            Probes a native pointer to a string in the UTF-8 encoding for its
+            terminating NUL character, within the specified length limit.
+            </summary>
+            <param name="pValue">
+            The native NUL-terminated string pointer.
+            </param>
+            <param name="limit">
+            The maximum length of the native string, in bytes.
+            </param>
+            <returns>
+            The length of the native string, in bytes -OR- zero if the length
+            could not be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr)">
+            <summary>
+            Converts the specified native NUL-terminated UTF-8 string pointer
+            into a managed string.
+            </summary>
+            <param name="pValue">
+            The native NUL-terminated UTF-8 string pointer.
+            </param>
+            <returns>
+            The managed string or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.StringFromUtf8IntPtr(System.IntPtr,System.Int32)">
+            <summary>
+            Converts the specified native UTF-8 string pointer of the specified
+            length into a managed string.
+            </summary>
+            <param name="pValue">
+            The native UTF-8 string pointer.
+            </param>
+            <param name="length">
+            The length of the native string, in bytes.
+            </param>
+            <returns>
+            The managed string or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrFromString(System.String)">
+            <summary>
+            Converts the specified managed string into a native NUL-terminated
+            UTF-8 string pointer using memory obtained from the SQLite core
+            library.
+            </summary>
+            <param name="value">
+            The managed string to convert.
+            </param>
+            <returns>
+            The native NUL-terminated UTF-8 string pointer or
+            <see cref="F:System.IntPtr.Zero"/> upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.StringArrayFromUtf8SizeAndIntPtr(System.Int32,System.IntPtr)">
+            <summary>
+            Converts a logical array of native NUL-terminated UTF-8 string
+            pointers into an array of managed strings.
+            </summary>
+            <param name="argc">
+            The number of elements in the logical array of native
+            NUL-terminated UTF-8 string pointers.
+            </param>
+            <param name="argv">
+            The native pointer to the logical array of native NUL-terminated
+            UTF-8 string pointers to convert.
+            </param>
+            <returns>
+            The array of managed strings or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteString.Utf8IntPtrArrayFromStringArray(System.String[])">
+            <summary>
+            Converts an array of managed strings into an array of native
+            NUL-terminated UTF-8 string pointers.
+            </summary>
+            <param name="values">
+            The array of managed strings to convert.
+            </param>
+            <returns>
+            The array of native NUL-terminated UTF-8 string pointers or null
+            upon failure.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteBytes">
+            <summary>
+            This class contains static methods that are used to deal with native
+            pointers to memory blocks that logically contain arrays of bytes to be
+            used with the SQLite core library.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBytes.FromIntPtr(System.IntPtr,System.Int32)">
+            <summary>
+            Converts a native pointer to a logical array of bytes of the
+            specified length into a managed byte array.
+            </summary>
+            <param name="pValue">
+            The native pointer to the logical array of bytes to convert.
+            </param>
+            <param name="length">
+            The length, in bytes, of the logical array of bytes to convert.
+            </param>
+            <returns>
+            The managed byte array or null upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteBytes.ToIntPtr(System.Byte[])">
+            <summary>
+            Converts a managed byte array into a native pointer to a logical
+            array of bytes.
+            </summary>
+            <param name="value">
+            The managed byte array to convert.
+            </param>
+            <returns>
+            The native pointer to a logical byte array or null upon failure.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteMarshal">
+            <summary>
+            This class contains static methods that are used to perform several
+            low-level data marshalling tasks between native and managed code.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.IntPtrForOffset(System.IntPtr,System.Int32)">
+            <summary>
+            Returns a new <see cref="T:System.IntPtr"/> object instance based on the
+            specified <see cref="T:System.IntPtr"/> object instance and an integer
+            offset.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location that the new
+            <see cref="T:System.IntPtr"/> object instance should point to.
+            </param>
+            <returns>
+            The new <see cref="T:System.IntPtr"/> object instance.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.RoundUp(System.Int32,System.Int32)">
+            <summary>
+            Rounds up an integer size to the next multiple of the alignment.
+            </summary>
+            <param name="size">
+            The size, in bytes, to be rounded up.
+            </param>
+            <param name="alignment">
+            The required alignment for the return value.
+            </param>
+            <returns>
+            The size, in bytes, rounded up to the next multiple of the
+            alignment.  This value may end up being the same as the original
+            size.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.NextOffsetOf(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Determines the offset, in bytes, of the next structure member.
+            </summary>
+            <param name="offset">
+            The offset, in bytes, of the current structure member.
+            </param>
+            <param name="size">
+            The size, in bytes, of the current structure member.
+            </param>
+            <param name="alignment">
+            The alignment, in bytes, of the next structure member.
+            </param>
+            <returns>
+            The offset, in bytes, of the next structure member.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.ReadInt32(System.IntPtr,System.Int32)">
+            <summary>
+            Reads a <see cref="T:System.Int32"/> value from the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.Int32"/> value to be read is located.
+            </param>
+            <returns>
+            The <see cref="T:System.Int32"/> value at the specified memory location.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.ReadInt64(System.IntPtr,System.Int32)">
+            <summary>
+            Reads a <see cref="T:System.Int64"/> value from the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.Int64"/> value to be read is located.
+            </param>
+            <returns>
+            The <see cref="T:System.Int64"/> value at the specified memory location.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.ReadDouble(System.IntPtr,System.Int32)">
+            <summary>
+            Reads a <see cref="T:System.Double"/> value from the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.Double"/> to be read is located.
+            </param>
+            <returns>
+            The <see cref="T:System.Double"/> value at the specified memory location.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.ReadIntPtr(System.IntPtr,System.Int32)">
+            <summary>
+            Reads an <see cref="T:System.IntPtr"/> value from the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.IntPtr"/> value to be read is located.
+            </param>
+            <returns>
+            The <see cref="T:System.IntPtr"/> value at the specified memory location.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt32(System.IntPtr,System.Int32,System.Int32)">
+            <summary>
+            Writes an <see cref="T:System.Int32"/> value to the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.Int32"/> value to be written is located.
+            </param>
+            <param name="value">
+            The <see cref="T:System.Int32"/> value to write.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.WriteInt64(System.IntPtr,System.Int32,System.Int64)">
+            <summary>
+            Writes an <see cref="T:System.Int64"/> value to the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.Int64"/> value to be written is located.
+            </param>
+            <param name="value">
+            The <see cref="T:System.Int64"/> value to write.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.WriteDouble(System.IntPtr,System.Int32,System.Double)">
+            <summary>
+            Writes a <see cref="T:System.Double"/> value to the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.Double"/> value to be written is located.
+            </param>
+            <param name="value">
+            The <see cref="T:System.Double"/> value to write.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.WriteIntPtr(System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            Writes a <see cref="T:System.IntPtr"/> value to the specified memory
+            location.
+            </summary>
+            <param name="pointer">
+            The <see cref="T:System.IntPtr"/> object instance representing the base
+            memory location.
+            </param>
+            <param name="offset">
+            The integer offset from the base memory location where the
+            <see cref="T:System.IntPtr"/> value to be written is located.
+            </param>
+            <param name="value">
+            The <see cref="T:System.IntPtr"/> value to write.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteMarshal.GetHashCode(System.Object,System.Boolean)">
+            <summary>
+            Generates a hash code value for the object.
+            </summary>
+            <param name="value">
+            The object instance used to calculate the hash code.
+            </param>
+            <param name="identity">
+            Non-zero if different object instances with the same value should
+            generate different hash codes, where applicable.  This parameter
+            has no effect on the .NET Compact Framework.
+            </param>
+            <returns>
+            The hash code value -OR- zero if the object is null.
+            </returns>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteModule">
+            <summary>
+            This class represents a managed virtual table module implementation.
+            It is not sealed and must be used as the base class for any
+            user-defined virtual table module classes implemented in managed code.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.DefaultModuleVersion">
+            <summary>
+            The default version of the native sqlite3_module structure in use.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.nativeModule">
+            <summary>
+            This field is used to store the native sqlite3_module structure
+            associated with this object instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.destroyModule">
+            <summary>
+            This field is used to store the destructor delegate to be passed to
+            the SQLite core library via the sqlite3_create_disposable_module()
+            function.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.disposableModule">
+            <summary>
+            This field is used to store a pointer to the native sqlite3_module
+            structure returned by the sqlite3_create_disposable_module
+            function.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.tables">
+            <summary>
+            This field is used to store the virtual table instances associated
+            with this module.  The native pointer to the sqlite3_vtab derived
+            structure is used to key into this collection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.cursors">
+            <summary>
+            This field is used to store the virtual table cursor instances
+            associated with this module.  The native pointer to the
+            sqlite3_vtab_cursor derived structure is used to key into this
+            collection.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.functions">
+            <summary>
+            This field is used to store the virtual table function instances
+            associated with this module.  The case-insensitive function name
+            and the number of arguments (with -1 meaning "any") are used to
+            construct the string that is used to key into this collection.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.#ctor(System.String)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CreateDisposableModule(System.IntPtr)">
+            <summary>
+            Calls the native SQLite core library in order to create a new
+            disposable module containing the implementation of a virtual table.
+            </summary>
+            <param name="pDb">
+            The native database connection pointer to use.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xDestroyModule(System.IntPtr)">
+            <summary>
+            This method is called by the SQLite core library when the native
+            module associated with this object instance is being destroyed due
+            to its parent connection being closed.  It may also be called by
+            the "vtshim" module if/when the sqlite3_dispose_module() function
+            is called.
+            </summary>
+            <param name="pClientData">
+            The native user-data pointer associated with this module, as it was
+            provided to the SQLite core library when the native module instance
+            was created.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule">
+            <summary>
+            Creates and returns the native sqlite_module structure using the
+            configured (or default) <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/>
+            interface implementation.
+            </summary>
+            <returns>
+            The native sqlite_module structure using the configured (or
+            default) <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface
+            implementation.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.AllocateNativeModule(System.Data.SQLite.ISQLiteNativeModule)">
+            <summary>
+            Creates and returns the native sqlite_module structure using the
+            specified <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface
+            implementation.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
+            use.
+            </param>
+            <returns>
+            The native sqlite_module structure using the specified
+            <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface implementation.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CopyNativeModule(System.Data.SQLite.UnsafeNativeMethods.sqlite3_module)">
+            <summary>
+            Creates a copy of the specified
+            <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object instance,
+            using default implementations for the contained delegates when
+            necessary.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
+            instance to copy.
+            </param>
+            <returns>
+            The new <see cref="T:system.Data.SQLite.UnsafeNativeMethods.sqlite3_module"/> object
+            instance.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CreateOrConnect(System.Boolean,System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            Calls one of the virtual table initialization methods.
+            </summary>
+            <param name="create">
+            Non-zero to call the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
+            method; otherwise, the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/>
+            method will be called.
+            </param>
+            <param name="pDb">
+            The native database connection handle.
+            </param>
+            <param name="pAux">
+            The original native pointer value that was provided to the
+            sqlite3_create_module(), sqlite3_create_module_v2() or
+            sqlite3_create_disposable_module() functions.
+            </param>
+            <param name="argc">
+            The number of arguments from the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="argv">
+            The array of string arguments from the CREATE VIRTUAL TABLE
+            statement.
+            </param>
+            <param name="pVtab">
+            Upon success, this parameter must be modified to point to the newly
+            created native sqlite3_vtab derived structure.
+            </param>
+            <param name="pError">
+            Upon failure, this parameter must be modified to point to the error
+            message, with the underlying memory having been obtained from the
+            sqlite3_malloc() function.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.DestroyOrDisconnect(System.Boolean,System.IntPtr)">
+            <summary>
+            Calls one of the virtual table finalization methods.
+            </summary>
+            <param name="destroy">
+            Non-zero to call the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/>
+            method; otherwise, the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method will be
+            called.
+            </param>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance to be used.
+            </param>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="logErrors">
+            Non-zero if this error message should also be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="logExceptions">
+            Non-zero if caught exceptions should be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTable,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance to be used.
+            </param>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance used to
+            lookup the native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="logErrors">
+            Non-zero if this error message should also be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="logExceptions">
+            Non-zero if caught exceptions should be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.IntPtr,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance to be used.
+            </param>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure
+            used to get the native pointer to the sqlite3_vtab derived
+            structure.
+            </param>
+            <param name="logErrors">
+            Non-zero if this error message should also be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="logExceptions">
+            Non-zero if caught exceptions should be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteModule,System.Data.SQLite.SQLiteVirtualTableCursor,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance to be used.
+            </param>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
+            lookup the native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="logErrors">
+            Non-zero if this error message should also be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="logExceptions">
+            Non-zero if caught exceptions should be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.GetNativeModuleImpl">
+            <summary>
+            Gets and returns the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface
+            implementation to be used when creating the native sqlite3_module
+            structure.  Derived classes may override this method to supply an
+            alternate implementation for the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/>
+            interface.
+            </summary>
+            <returns>
+            The <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface implementation to
+            be used when populating the native sqlite3_module structure.  If
+            the returned value is null, the private methods provided by the
+            <see cref="T:system.Data.SQLite.SQLiteModule"/> class and relating to the
+            <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface  will be used to
+            create the necessary delegates.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CreateNativeModuleImpl">
+            <summary>
+            Creates and returns the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/>
+            interface implementation corresponding to the current
+            <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance.
+            </summary>
+            <returns>
+            The <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> interface implementation
+            corresponding to the current <see cref="T:system.Data.SQLite.SQLiteModule"/> object
+            instance.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.AllocateTable">
+            <summary>
+            Allocates a native sqlite3_vtab derived structure and returns a
+            native pointer to it.
+            </summary>
+            <returns>
+            A native pointer to a native sqlite3_vtab derived structure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.ZeroTable(System.IntPtr)">
+            <summary>
+            Zeros out the fields of a native sqlite3_vtab derived structure.
+            </summary>
+            <param name="pVtab">
+            The native pointer to the native sqlite3_vtab derived structure to
+            zero.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.FreeTable(System.IntPtr)">
+            <summary>
+            Frees a native sqlite3_vtab structure using the provided native
+            pointer to it.
+            </summary>
+            <param name="pVtab">
+            A native pointer to a native sqlite3_vtab derived structure.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.AllocateCursor">
+            <summary>
+            Allocates a native sqlite3_vtab_cursor derived structure and
+            returns a native pointer to it.
+            </summary>
+            <returns>
+            A native pointer to a native sqlite3_vtab_cursor derived structure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.FreeCursor(System.IntPtr)">
+            <summary>
+            Frees a native sqlite3_vtab_cursor structure using the provided
+            native pointer to it.
+            </summary>
+            <param name="pCursor">
+            A native pointer to a native sqlite3_vtab_cursor derived structure.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.Data.SQLite.SQLiteModule,System.IntPtr)">
+            <summary>
+            Reads and returns the native pointer to the sqlite3_vtab derived
+            structure based on the native pointer to the sqlite3_vtab_cursor
+            derived structure.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance to be used.
+            </param>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure
+            from which to read the native pointer to the sqlite3_vtab derived
+            structure.
+            </param>
+            <returns>
+            The native pointer to the sqlite3_vtab derived structure -OR-
+            <see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.TableFromCursor(System.IntPtr)">
+            <summary>
+            Reads and returns the native pointer to the sqlite3_vtab derived
+            structure based on the native pointer to the sqlite3_vtab_cursor
+            derived structure.
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure
+            from which to read the native pointer to the sqlite3_vtab derived
+            structure.
+            </param>
+            <returns>
+            The native pointer to the sqlite3_vtab derived structure -OR-
+            <see cref="F:System.IntPtr.Zero"/> if it cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.TableFromIntPtr(System.IntPtr)">
+            <summary>
+            Looks up and returns the <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object
+            instance based on the native pointer to the sqlite3_vtab derived
+            structure.
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance or null if
+            the corresponding one cannot be found.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.TableToIntPtr(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            Allocates and returns a native pointer to a sqlite3_vtab derived
+            structure and creates an association between it and the specified
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance to be used
+            when creating the association.
+            </param>
+            <returns>
+            The native pointer to a sqlite3_vtab derived structure or
+            <see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CursorFromIntPtr(System.IntPtr,System.IntPtr)">
+            <summary>
+            Looks up and returns the <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/>
+            object instance based on the native pointer to the
+            sqlite3_vtab_cursor derived structure.
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived structure.
+            </param>
+            <returns>
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance or null
+            if the corresponding one cannot be found.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CursorToIntPtr(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            Allocates and returns a native pointer to a sqlite3_vtab_cursor
+            derived structure and creates an association between it and the
+            specified <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance to be
+            used when creating the association.
+            </param>
+            <returns>
+            The native pointer to a sqlite3_vtab_cursor derived structure or
+            <see cref="F:System.IntPtr.Zero"/> if the method fails for any reason.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.GetFunctionKey(System.Int32,System.String,System.Data.SQLite.SQLiteFunction)">
+            <summary>
+            Deterimines the key that should be used to identify and store the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance for the virtual table
+            (i.e. to be returned via the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method).
+            </summary>
+            <param name="argumentCount">
+            The number of arguments to the virtual table function.
+            </param>
+            <param name="name">
+            The name of the virtual table function.
+            </param>
+            <param name="function">
+            The <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance associated with
+            this virtual table function.
+            </param>
+            <returns>
+            The string that should be used to identify and store the virtual
+            table function instance.  This method cannot return null.  If null
+            is returned from this method, the behavior is undefined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.DeclareTable(System.Data.SQLite.SQLiteConnection,System.String,System.String@)">
+            <summary>
+            Attempts to declare the schema for the virtual table using the
+            specified database connection.
+            </summary>
+            <param name="connection">
+            The <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance to use when
+            declaring the schema of the virtual table.  This parameter may not
+            be null.
+            </param>
+            <param name="sql">
+            The string containing the CREATE TABLE statement that completely
+            describes the schema for the virtual table.  This parameter may not
+            be null.
+            </param>
+            <param name="error">
+            Upon failure, this parameter must be modified to contain an error
+            message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.DeclareFunction(System.Data.SQLite.SQLiteConnection,System.Int32,System.String,System.String@)">
+            <summary>
+            Calls the native SQLite core library in order to declare a virtual
+            table function in response to a call into the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/>
+            or <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> virtual table
+            methods.
+            </summary>
+            <param name="connection">
+            The <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance to use when
+            declaring the schema of the virtual table.
+            </param>
+            <param name="argumentCount">
+            The number of arguments to the function being declared.
+            </param>
+            <param name="name">
+            The name of the function being declared.
+            </param>
+            <param name="error">
+            Upon success, the contents of this parameter are undefined.  Upon
+            failure, it should contain an appropriate error message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance used to
+            lookup the native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetCursorError(System.Data.SQLite.SQLiteVirtualTableCursor,System.String)">
+            <summary>
+            Arranges for the specified error message to be placed into the
+            zErrMsg field of a sqlite3_vtab derived structure, freeing the
+            existing error message, if any.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance used to
+            lookup the native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <param name="error">
+            The error message.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Double})">
+            <summary>
+            Modifies the specified <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance
+            to contain the specified estimated cost.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance to modify.
+            </param>
+            <param name="estimatedCost">
+            The estimated cost value to use.  Using a null value means that the
+            default value provided by the SQLite core library should be used.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedCost(System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            Modifies the specified <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance
+            to contain the default estimated cost.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance to modify.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Int64})">
+            <summary>
+            Modifies the specified <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance
+            to contain the specified estimated rows.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance to modify.
+            </param>
+            <param name="estimatedRows">
+            The estimated rows value to use.  Using a null value means that the
+            default value provided by the SQLite core library should be used.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetEstimatedRows(System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            Modifies the specified <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance
+            to contain the default estimated rows.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance to modify.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetIndexFlags(System.Data.SQLite.SQLiteIndex,System.Nullable{System.Data.SQLite.SQLiteIndexFlags})">
+            <summary>
+            Modifies the specified <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance
+            to contain the specified flags.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance to modify.
+            </param>
+            <param name="indexFlags">
+            The index flags value to use.  Using a null value means that the
+            default value provided by the SQLite core library should be used.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SetIndexFlags(System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            Modifies the specified <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance
+            to contain the default index flags.
+            </summary>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance to modify.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pDb">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pAux">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pError">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pDb">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pAux">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pError">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xBestIndex(System.IntPtr,System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <param name="pIndex">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xDisconnect(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xDestroy(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xOpen(System.IntPtr,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </param>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xClose(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="idxNum">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="idxStr">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xNext(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xEof(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="pContext">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xRowId(System.IntPtr,System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xBegin(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xSync(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xCommit(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xRollback(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="nArg">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="zName">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="callback">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xRename(System.IntPtr,System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <param name="zNew">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xSavepoint(System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="iSavepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xRelease(System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="iSavepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.xRollbackTo(System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="iSavepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="connection">
+            The <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="pClientData">
+            The native user-data pointer associated with this module, as it was
+            provided to the SQLite core library when the native module instance
+            was created.
+            </param>
+            <param name="arguments">
+            The module name, database name, virtual table name, and all other
+            arguments passed to the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="table">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="error">
+            Upon failure, this parameter must be modified to contain an error
+            message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="connection">
+            The <see cref="T:system.Data.SQLite.SQLiteConnection"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="pClientData">
+            The native user-data pointer associated with this module, as it was
+            provided to the SQLite core library when the native module instance
+            was created.
+            </param>
+            <param name="arguments">
+            The module name, database name, virtual table name, and all other
+            arguments passed to the CREATE VIRTUAL TABLE statement.
+            </param>
+            <param name="table">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated with
+            the virtual table.
+            </param>
+            <param name="error">
+            Upon failure, this parameter must be modified to contain an error
+            message.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="index">
+            The <see cref="T:system.Data.SQLite.SQLiteIndex"/> object instance containing all the
+            data for the inputs and outputs relating to index selection.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="cursor">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance associated
+            with the newly opened virtual table cursor.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="indexNumber">
+            Number used to help identify the selected index.
+            </param>
+            <param name="indexString">
+            String used to help identify the selected index.
+            </param>
+            <param name="values">
+            The values corresponding to each column in the selected index.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <returns>
+            Non-zero if no more rows are available; zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="context">
+            The <see cref="T:system.Data.SQLite.SQLiteContext"/> object instance to be used for
+            returning the specified column value to the SQLite core library.
+            </param>
+            <param name="index">
+            The zero-based index corresponding to the column containing the
+            value to be returned.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="rowId">
+            Upon success, this parameter must be modified to contain the unique
+            integer row identifier for the current row for the specified cursor.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="values">
+            The array of <see cref="T:system.Data.SQLite.SQLiteValue"/> object instances containing
+            the new or modified column values, if any.
+            </param>
+            <param name="rowId">
+            Upon success, this parameter must be modified to contain the unique
+            integer row identifier for the row that was inserted, if any.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Begin(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Sync(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Commit(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="argumentCount">
+            The number of arguments to the function being sought.
+            </param>
+            <param name="name">
+            The name of the function being sought.
+            </param>
+            <param name="function">
+            Upon success, this parameter must be modified to contain the
+            <see cref="T:system.Data.SQLite.SQLiteFunction"/> object instance responsible for
+            implementing the specified function.
+            </param>
+            <param name="pClientData">
+            Upon success, this parameter must be modified to contain the
+            native user-data pointer associated with
+            <paramref name="function"/>.
+            </param>
+            <returns>
+            Non-zero if the specified function was found; zero otherwise.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="newName">
+            The new name for the virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="savepoint">
+            This is an integer identifier under which the the current state of
+            the virtual table should be saved.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="savepoint">
+            This is an integer used to indicate that any saved states with an
+            identifier greater than or equal to this should be deleted by the
+            virtual table.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            This method is called in response to the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this virtual table.
+            </param>
+            <param name="savepoint">
+            This is an integer identifier used to specify a specific saved
+            state for the virtual table for it to restore itself back to, which
+            should also have the effect of deleting all saved states with an
+            integer identifier greater than this one.
+            </param>
+            <returns>
+            A standard SQLite return code.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Dispose">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:system.Data.SQLite.SQLiteModule.Dispose"/> method.  Zero if this method is being
+            called from the finalizer.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.Finalize">
+            <summary>
+            Finalizes this object instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteModule.LogErrorsNoThrow">
+            <summary>
+            Returns or sets a boolean value indicating whether virtual table
+            errors should be logged using the <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteModule.LogExceptionsNoThrow">
+            <summary>
+            Returns or sets a boolean value indicating whether exceptions
+            caught in the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
+            the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method,
+            the <see cref="M:system.Data.SQLite.SQLiteModule.SetTableError(System.IntPtr,System.String)"/> method,
+            the <see cref="M:system.Data.SQLite.SQLiteModule.SetTableError(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method,
+            and the <see cref="M:system.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteModule.LogErrors">
+            <summary>
+            Returns or sets a boolean value indicating whether virtual table
+            errors should be logged using the <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteModule.LogExceptions">
+            <summary>
+            Returns or sets a boolean value indicating whether exceptions
+            caught in the
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method,
+            <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method, and the
+            <see cref="M:system.Data.SQLite.SQLiteModule.Dispose"/> method should be logged using the
+            <see cref="T:system.Data.SQLite.SQLiteLog"/> class.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteModule.Declared">
+            <summary>
+            Returns non-zero if the schema for the virtual table has been
+            declared.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteModule.Name">
+            <summary>
+            Returns the name of the module as it was registered with the SQLite
+            core library.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteModule.SQLiteNativeModule">
+            <summary>
+            This class implements the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/>
+            interface by forwarding those method calls to the
+            <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance it contains.  If the
+            contained <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance is null, all
+            the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/> methods simply generate an
+            error.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogErrors">
+            <summary>
+            This is the value that is always used for the "logErrors"
+            parameter to the various static error handling methods provided
+            by the <see cref="T:system.Data.SQLite.SQLiteModule"/> class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.DefaultLogExceptions">
+            <summary>
+            This is the value that is always used for the "logExceptions"
+            parameter to the various static error handling methods provided
+            by the <see cref="T:system.Data.SQLite.SQLiteModule"/> class.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableErrorMessage">
+            <summary>
+            This is the error message text used when the contained
+            <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance is not available
+            for any reason.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.module">
+            <summary>
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance used to provide
+            an implementation of the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/>
+            interface.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.#ctor(System.Data.SQLite.SQLiteModule)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="module">
+            The <see cref="T:system.Data.SQLite.SQLiteModule"/> object instance used to provide
+            an implementation of the <see cref="T:system.Data.SQLite.ISQLiteNativeModule"/>
+            interface.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableTableError(System.IntPtr)">
+            <summary>
+            Sets the table error message to one that indicates the native
+            module implementation is not available.
+            </summary>
+            <param name="pVtab">
+            The native pointer to the sqlite3_vtab derived structure.
+            </param>
+            <returns>
+            The value of <see cref="F:system.Data.SQLite.SQLiteErrorCode.Error"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.ModuleNotAvailableCursorError(System.IntPtr)">
+            <summary>
+            Sets the table error message to one that indicates the native
+            module implementation is not available.
+            </summary>
+            <param name="pCursor">
+            The native pointer to the sqlite3_vtab_cursor derived
+            structure.
+            </param>
+            <returns>
+            The value of <see cref="F:system.Data.SQLite.SQLiteErrorCode.Error"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pDb">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pAux">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pError">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCreate(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pDb">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pAux">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pError">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xConnect(System.IntPtr,System.IntPtr,System.Int32,System.IntPtr,System.IntPtr@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <param name="pIndex">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBestIndex(System.IntPtr,System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDisconnect(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDisconnect(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xDestroy(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xDestroy(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </param>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xOpen(System.IntPtr,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xClose(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xClose(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="idxNum">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="idxStr">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFilter(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xNext(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xNext(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xEof(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xEof(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="pContext">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xColumn(System.IntPtr,System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="pCursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRowId(System.IntPtr,System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="argc">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="argv">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xUpdate(System.IntPtr,System.Int32,System.IntPtr,System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xBegin(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xBegin(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSync(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSync(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xCommit(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xCommit(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollback(System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollback(System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="nArg">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="zName">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="callback">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xFindFunction(System.IntPtr,System.Int32,System.IntPtr,System.Data.SQLite.SQLiteCallback@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <param name="zNew">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRename(System.IntPtr,System.IntPtr)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="iSavepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xSavepoint(System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRelease(System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="iSavepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRelease(System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </summary>
+            <param name="pVtab">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <param name="iSavepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteNativeModule.xRollbackTo(System.IntPtr,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:system.Data.SQLite.SQLiteModule.SQLiteNativeModule.Dispose"/> method.  Zero if this method is being
+            called from the finalizer.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModule.SQLiteNativeModule.Finalize">
+            <summary>
+            Finalizes this object instance.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteModuleCommon">
+            <summary>
+            This class contains some virtual methods that may be useful for other
+            virtual table classes.  It specifically does NOT implement any of the
+            <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface methods.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteModuleNoop">
+            <summary>
+            This class implements a virtual table module that does nothing by
+            providing "empty" implementations for all of the
+            <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface methods.  The result
+            codes returned by these "empty" method implementations may be
+            controlled on a per-method basis by using and/or overriding the
+            <see cref="M:system.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/>,
+            <see cref="M:system.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)"/>,
+            <see cref="M:system.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)"/>,
+            <see cref="M:system.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)"/>, and
+            <see cref="M:system.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)"/> methods from within derived classes.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModuleNoop.resultCodes">
+            <summary>
+            This field is used to store the <see cref="T:system.Data.SQLite.SQLiteErrorCode"/>
+            values to return, on a per-method basis, for all methods that are
+            part of the <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.#ctor(System.String)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode">
+            <summary>
+            Determines the default <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value to be
+            returned by methods of the <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/>
+            interface that lack an overridden implementation in all classes
+            derived from the <see cref="T:system.Data.SQLite.SQLiteModuleNoop"/> class.
+            </summary>
+            <returns>
+            The <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value that should be returned
+            by all <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface methods unless
+            a more specific result code has been set for that interface method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToEofResult(System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Converts a <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value into a boolean
+            return value for use with the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="resultCode">
+            The <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value to convert.
+            </param>
+            <returns>
+            The <see cref="T:System.Boolean"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.ResultCodeToFindFunctionResult(System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Converts a <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value into a boolean
+            return value for use with the
+            <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="resultCode">
+            The <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value to convert.
+            </param>
+            <returns>
+            The <see cref="T:System.Boolean"/> value.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.GetMethodResultCode(System.String)">
+            <summary>
+            Determines the <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value that should be
+            returned by the specified <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/>
+            interface method if it lack an overridden implementation.  If no
+            specific <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value is available (or set)
+            for the specified method, the <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value
+            returned by the <see cref="M:system.Data.SQLite.SQLiteModuleNoop.GetDefaultResultCode"/> method will be
+            returned instead.
+            </summary>
+            <param name="methodName">
+            The name of the method.  Currently, this method must be part of
+            the <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface.
+            </param>
+            <returns>
+            The <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value that should be returned
+            by the <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.SetMethodResultCode(System.String,System.Data.SQLite.SQLiteErrorCode)">
+            <summary>
+            Sets the <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value that should be
+            returned by the specified <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/>
+            interface method if it lack an overridden implementation.
+            </summary>
+            <param name="methodName">
+            The name of the method.  Currently, this method must be part of
+            the <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface.
+            </param>
+            <param name="resultCode">
+            The <see cref="T:system.Data.SQLite.SQLiteErrorCode"/> value that should be returned
+            by the <see cref="T:system.Data.SQLite.ISQLiteManagedModule"/> interface method.
+            </param>
+            <returns>
+            Non-zero upon success.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </summary>
+            <param name="connection">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="arguments">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="error">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </summary>
+            <param name="connection">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="arguments">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="error">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </param>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <param name="indexNumber">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <param name="indexString">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <param name="values">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <param name="context">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </param>
+            <param name="values">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Begin(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Begin(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Sync(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Sync(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Commit(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Commit(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Rollback(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rollback(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </param>
+            <param name="argumentCount">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </param>
+            <param name="name">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </param>
+            <param name="function">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.FindFunction(System.Data.SQLite.SQLiteVirtualTable,System.Int32,System.String,System.Data.SQLite.SQLiteFunction@,System.IntPtr@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </param>
+            <param name="newName">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </param>
+            <param name="savepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Savepoint(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </param>
+            <param name="savepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Release(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </param>
+            <param name="savepoint">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RollbackTo(System.Data.SQLite.SQLiteVirtualTable,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleNoop.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:System.IDisposable.Dispose"/> method.  Zero if this method is
+            being called from the finalizer.
+            </param>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModuleCommon.declareSql">
+            <summary>
+            The CREATE TABLE statement used to declare the schema for the
+            virtual table.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModuleCommon.objectIdentity">
+            <summary>
+            Non-zero if different object instances with the same value should
+            generate different row identifiers, where applicable.  This has no
+            effect on the .NET Compact Framework.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.#ctor(System.String,System.Boolean)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+            <param name="objectIdentity">
+            Non-zero if different object instances with the same value should
+            generate different row identifiers, where applicable.  This
+            parameter has no effect on the .NET Compact Framework.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.GetSqlForDeclareTable">
+            <summary>
+            Determines the SQL statement used to declare the virtual table.
+            This method should be overridden in derived classes if they require
+            a custom virtual table schema.
+            </summary>
+            <returns>
+            The SQL statement used to declare the virtual table -OR- null if it
+            cannot be determined.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.CursorTypeMismatchError(System.Data.SQLite.SQLiteVirtualTableCursor,System.Type)">
+            <summary>
+            Sets the table error message to one that indicates the virtual
+            table cursor is of the wrong type.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
+            </param>
+            <param name="type">
+            The <see cref="T:System.Type"/> that the virtual table cursor should be.
+            </param>
+            <returns>
+            The value of <see cref="F:system.Data.SQLite.SQLiteErrorCode.Error"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.GetStringFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
+            <summary>
+            Determines the string to return as the column value for the object
+            instance value.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="value">
+            The object instance to return a string representation for.
+            </param>
+            <returns>
+            The string representation of the specified object instance or null
+            upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.MakeRowId(System.Int32,System.Int32)">
+            <summary>
+            Constructs an <see cref="T:System.Int64"/> unique row identifier from two
+            <see cref="T:System.Int32"/> values.  The first <see cref="T:System.Int32"/> value
+            must contain the row sequence number for the current row and the
+            second value must contain the hash code of the key column value
+            for the current row.
+            </summary>
+            <param name="rowIndex">
+            The integer row sequence number for the current row.
+            </param>
+            <param name="hashCode">
+            The hash code of the key column value for the current row.
+            </param>
+            <returns>
+            The unique row identifier or zero upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.GetRowIdFromObject(System.Data.SQLite.SQLiteVirtualTableCursor,System.Object)">
+            <summary>
+            Determines the unique row identifier for the current row.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance
+            associated with the previously opened virtual table cursor to be
+            used.
+            </param>
+            <param name="value">
+            The object instance to return a unique row identifier for.
+            </param>
+            <returns>
+            The unique row identifier or zero upon failure.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleCommon.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:System.IDisposable.Dispose"/> method.  Zero if this method is
+            being called from the finalizer.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator">
+            <summary>
+            This class represents a virtual table cursor to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteModuleEnumerable"/> class.  It is not sealed and may
+            be used as the base class for any user-defined virtual table cursor
+            class that wraps an <see cref="T:System.Collections.IEnumerator"/> object instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.enumerator">
+            <summary>
+            The <see cref="T:System.Collections.IEnumerator"/> instance provided when this cursor
+            was created.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.endOfEnumerator">
+            <summary>
+            This value will be non-zero if false has been returned from the
+            <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.IEnumerator)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this object instance.
+            </param>
+            <param name="enumerator">
+            The <see cref="T:System.Collections.IEnumerator"/> instance to expose as a virtual
+            table cursor.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.MoveNext">
+            <summary>
+            Advances to the next row of the virtual table cursor using the
+            <see cref="M:System.Collections.IEnumerator.MoveNext"/> method of the
+            <see cref="T:System.Collections.IEnumerator"/> object instance.
+            </summary>
+            <returns>
+            Non-zero if the current row is valid; zero otherwise.  If zero is
+            returned, no further rows are available.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Reset">
+            <summary>
+            Resets the virtual table cursor position, also invalidating the
+            current row, using the <see cref="M:System.Collections.IEnumerator.Reset"/> method of
+            the <see cref="T:System.Collections.IEnumerator"/> object instance.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Close">
+            <summary>
+            Closes the virtual table cursor.  This method must not throw any
+            exceptions.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckClosed">
+            <summary>
+            Throws an <see cref="T:System.InvalidOperationException"/> if the virtual
+            table cursor has been closed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:System.IDisposable.Dispose"/> method.  Zero if this method is
+            being called from the finalizer.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.Current">
+            <summary>
+            Returns the value for the current row of the virtual table cursor
+            using the <see cref="P:System.Collections.IEnumerator.Current"/> property of the
+            <see cref="T:System.Collections.IEnumerator"/> object instance.
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.EndOfEnumerator">
+            <summary>
+            Returns non-zero if the end of the virtual table cursor has been
+            seen (i.e. no more rows are available, including the current one).
+            </summary>
+        </member>
+        <member name="P:System.Data.SQLite.SQLiteVirtualTableCursorEnumerator.IsOpen">
+            <summary>
+            Returns non-zero if the virtual table cursor is open.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.SQLiteModuleEnumerable">
+             <summary>
+             This class implements a virtual table module that exposes an
+             <see cref="T:System.Collections.IEnumerable"/> object instance as a read-only virtual
+             table.  It is not sealed and may be used as the base class for any
+             user-defined virtual table class that wraps an
+             <see cref="T:System.Collections.IEnumerable"/> object instance.  The following short
+             example shows it being used to treat an array of strings as a table
+             data source:
+             <code>
+               public static class Sample
+               {
+                 public static void Main()
+                 {
+                   using (SQLiteConnection connection = new SQLiteConnection(
+                       "Data Source=:memory:;"))
+                   {
+                     connection.Open();
+            
+                     connection.CreateModule(new SQLiteModuleEnumerable(
+                       "sampleModule", new string[] { "one", "two", "three" }));
+            
+                     using (SQLiteCommand command = connection.CreateCommand())
+                     {
+                       command.CommandText =
+                           "CREATE VIRTUAL TABLE t1 USING sampleModule;";
+            
+                       command.ExecuteNonQuery();
+                     }
+            
+                     using (SQLiteCommand command = connection.CreateCommand())
+                     {
+                       command.CommandText = "SELECT * FROM t1;";
+            
+                       using (SQLiteDataReader dataReader = command.ExecuteReader())
+                       {
+                         while (dataReader.Read())
+                           Console.WriteLine(dataReader[0].ToString());
+                       }
+                     }
+            
+                     connection.Close();
+                   }
+                 }
+               }
+             </code>
+             </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModuleEnumerable.enumerable">
+            <summary>
+            The <see cref="T:System.Collections.IEnumerable"/> instance containing the backing data
+            for the virtual table.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.SQLiteModuleEnumerable.objectIdentity">
+            <summary>
+            Non-zero if different object instances with the same value should
+            generate different row identifiers, where applicable.  This has no
+            effect on the .NET Compact Framework.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+            <param name="enumerable">
+            The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
+            table.  This parameter cannot be null.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.#ctor(System.String,System.Collections.IEnumerable,System.Boolean)">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+            <param name="enumerable">
+            The <see cref="T:System.Collections.IEnumerable"/> instance to expose as a virtual
+            table.  This parameter cannot be null.
+            </param>
+            <param name="objectIdentity">
+            Non-zero if different object instances with the same value should
+            generate different row identifiers, where applicable.  This
+            parameter has no effect on the .NET Compact Framework.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CursorEndOfEnumeratorError(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            Sets the table error message to one that indicates the virtual
+            table cursor has no current row.
+            </summary>
+            <param name="cursor">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTableCursor"/> object instance.
+            </param>
+            <returns>
+            The value of <see cref="F:system.Data.SQLite.SQLiteErrorCode.Error"/>.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </summary>
+            <param name="connection">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="arguments">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="error">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Create(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </summary>
+            <param name="connection">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="pClientData">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="arguments">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <param name="error">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Connect(System.Data.SQLite.SQLiteConnection,System.IntPtr,System.String[],System.Data.SQLite.SQLiteVirtualTable@,System.String@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.BestIndex(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteIndex)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Disconnect(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Disconnect(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Destroy(System.Data.SQLite.SQLiteVirtualTable)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Destroy(System.Data.SQLite.SQLiteVirtualTable)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </param>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Close(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Close(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <param name="indexNumber">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <param name="indexString">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <param name="values">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Filter(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int32,System.String,System.Data.SQLite.SQLiteValue[])"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Next(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Next(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Eof(System.Data.SQLite.SQLiteVirtualTableCursor)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <param name="context">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.RowId(System.Data.SQLite.SQLiteVirtualTableCursor,System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </param>
+            <param name="values">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </param>
+            <param name="rowId">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Update(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteValue[],System.Int64@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </param>
+            <param name="newName">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Rename(System.Data.SQLite.SQLiteVirtualTable,System.String)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.SQLiteModuleEnumerable.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:System.IDisposable.Dispose"/> method.  Zero if this method is
+            being called from the finalizer.
+            </param>
+        </member>
+        <member name="T:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1">
+            <summary>
+            This class represents a virtual table cursor to be used with the
+            <see cref="T:system.Data.SQLite.SQLiteModuleEnumerable"/> class.  It is not sealed and may
+            be used as the base class for any user-defined virtual table cursor
+            class that wraps an <see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.enumerator">
+            <summary>
+            The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance provided when this
+            cursor was created.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.#ctor(System.Data.SQLite.SQLiteVirtualTable,System.Collections.Generic.IEnumerator{`0})">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="table">
+            The <see cref="T:system.Data.SQLite.SQLiteVirtualTable"/> object instance associated
+            with this object instance.
+            </param>
+            <param name="enumerator">
+            The <see cref="T:System.Collections.Generic.IEnumerator`1"/> instance to expose as a virtual
+            table cursor.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Close">
+            <summary>
+            Closes the virtual table cursor.  This method must not throw any
+            exceptions.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:System.IDisposable.Dispose"/> method.  Zero if this method is
+            being called from the finalizer.
+            </param>
+        </member>
+        <member name="P:System.Data.SQLite.Generic.SQLiteVirtualTableCursorEnumerator`1.System#Collections#Generic#IEnumerator{T}#Current">
+            <summary>
+            Returns the value for the current row of the virtual table cursor
+            using the <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property of the
+            <see cref="T:System.Collections.Generic.IEnumerator`1"/> object instance.
+            </summary>
+        </member>
+        <member name="T:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1">
+            <summary>
+            This class implements a virtual table module that exposes an
+            <see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance as a read-only virtual
+            table.  It is not sealed and may be used as the base class for any
+            user-defined virtual table class that wraps an
+            <see cref="T:System.Collections.Generic.IEnumerable`1"/> object instance.
+            </summary>
+        </member>
+        <member name="F:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.enumerable">
+            <summary>
+            The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance containing the backing
+            data for the virtual table.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.#ctor(System.String,System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            Constructs an instance of this class.
+            </summary>
+            <param name="name">
+            The name of the module.  This parameter cannot be null.
+            </param>
+            <param name="enumerable">
+            The <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance to expose as a virtual
+            table.  This parameter cannot be null.
+            </param>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </summary>
+            <param name="table">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </param>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Open(System.Data.SQLite.SQLiteVirtualTable,System.Data.SQLite.SQLiteVirtualTableCursor@)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)">
+            <summary>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </summary>
+            <param name="cursor">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <param name="context">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <param name="index">
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </param>
+            <returns>
+            See the <see cref="M:system.Data.SQLite.ISQLiteManagedModule.Column(System.Data.SQLite.SQLiteVirtualTableCursor,System.Data.SQLite.SQLiteContext,System.Int32)"/> method.
+            </returns>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.CheckDisposed">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> if this object
+            instance has been disposed.
+            </summary>
+        </member>
+        <member name="M:System.Data.SQLite.Generic.SQLiteModuleEnumerable`1.Dispose(System.Boolean)">
+            <summary>
+            Disposes of this object instance.
+            </summary>
+            <param name="disposing">
+            Non-zero if this method is being called from the
+            <see cref="M:System.IDisposable.Dispose"/> method.  Zero if this method is
+            being called from the finalizer.
+            </param>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Common/Gentle.Common.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Common/Gentle.Common.xml
new file mode 100644
index 0000000..d76be73
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Common/Gentle.Common.xml
@@ -0,0 +1,2596 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Common</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Common.CacheContentType">
+            <summary>
+            Enumeration of possible content types in the cache. Every content type has
+            its own HybridDictionary in order to increase performance for sequential
+            operations (such as when invoking CacheManager.ClearByType).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheContentType.Query">
+            <summary>
+            Queries and query results.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheContentType.Entity">
+            <summary>
+            Entities (and all other types).
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CacheManager">
+            <summary>
+            Manager class uses to interface with the underlying cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Get(System.String)">
+            <summary>
+            Retrieve an entry from the cache using the specified key.
+            </summary>
+            <param name="key">The key linked to the cache entry.</param>
+            <returns>The cached object (or null if no entry was found).</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Insert(Gentle.Common.ICacheKeyProvider)">
+            <summary>
+            Insert an entry into the cache using <see cref="F:Gentle.Common.CacheStrategy.Temporary"/>.
+            </summary>
+            <param name="obj">The item to add to the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Insert(System.String,System.Object)">
+            <summary>
+            Insert an entry into the cache using <see cref="F:Gentle.Common.CacheStrategy.Temporary"/>.
+            </summary>
+            <param name="key">The key used to find the entry again.</param>
+            <param name="value">The item to add to the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Insert(System.String,System.Object,Gentle.Common.CacheStrategy)">
+            <summary>
+            Insert an entry into the cache using the specified <see cref="T:Gentle.Common.CacheStrategy"/>.
+            </summary>
+            <param name="key">The key used to find the entry again.</param>
+            <param name="value">The item to cache.</param>
+            <param name="strategy">The cache strategy to use for lifetime management. Possible
+            values are Never, Temporary or Permanent.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Remove(System.String)">
+            <summary>
+            Remove an entry from the cache.
+            </summary>
+            <param name="key">The key used to find the entry to remove.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Remove(System.Object[])">
+            <summary>
+            Forcefully remove one or more entries from the cache. Note that this
+            is currently a O(n^2) operation (i.e. it might be slow).
+            </summary>
+            <param name="objects">The objects to remove from the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Remove(System.Collections.IList)">
+            <summary>
+            Forcefully remove one or more entries from the cache. Note that this
+            is currently a O(n^2) operation (i.e. it might be slow).
+            </summary>
+            <param name="objects">The list of objects to remove from the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear(System.String)">
+            <summary>
+            Clear all entries belonging to the specified scope from the cache. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear(System.String,Gentle.Common.CacheContentType)">
+            <summary>
+            Clear all entries belonging to the specified scope from the cache. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear">
+            <summary>
+            Clear all entries in all scopes from the cache. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.Clear(System.Int32)">
+            <summary>
+            Clear all entries belonging to the specified thread from the cache. The thread
+            identity corresponds to the value of thread.GetHashCode(). Note that this method
+            only works for threads that do not have a name.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.ClearQueryResultsByType(System.Type)">
+            <summary>
+            Clear information on query results for select/count queries on the specified type. 
+            This method is used by Gentle to invalidate obsolete query results when objects 
+            of the given type are inserted or removed.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetCount(System.String)">
+            <summary>
+            Return the number of items currently in the cache. The cache store to use is determined from
+            the scope parameter (combined with the global UniqingScope setting). If null is passed this
+            method returns the same as the Count property (current scope).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetCount(System.String,Gentle.Common.CacheContentType)">
+            <summary>
+            Return the number of items currently in the cache. The cache store to use is determined from
+            the scope parameter (combined with the global UniqingScope setting). If null is passed this
+            method returns the same as the Count property (current scope).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheManager.Count">
+            <summary>
+            Return the number of items currently in the cache. Only items for the current UniqingScope 
+            will be counted.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheManager.UniqingScope">
+            <summary>
+            The global scope setting used to separate items in the cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetScopeDelimiter(System.String)">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            supplied id is used instead of the normal scope delimitor (this
+            is useful if you wish to clear the cache for another thread or
+            web session than your own).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheManager.GetScopeDelimiter">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            returned value is valid for this thread or web session only.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CacheStrategy">
+            <summary>
+            This enumeration is used to apply a caching strategy to objects.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheStrategy.Never">
+            <summary>
+            This value indicates that caching is disabled.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheStrategy.Temporary">
+            <summary>
+            This value indicates that caching is enabled, and that cached objects may be
+            collected and released at will by the garbage collector. 
+            This is the default, but can be overridden by setting the 
+            Options/Cache/DefaultCacheStrategy key in the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.CacheStrategy.Permanent">
+            <summary>
+            This value indicates that caching is enabled, and that cached objects may not
+            be garbage collected. The developer must manually ensure that objects are 
+            removed from the cache when they are no longer needed.
+            This strategy is applied to the default PersistenceBroker instance used by
+            the Broker class in order to ensure it is never garbage collected.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ICacheKeyProvider">
+            <summary>
+            This interface should be implemented by all types that are cached. It allows the cache
+            to identify the key for the object which speeds up removal dramatically.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.ICacheKeyProvider.CacheKey">
+            <summary>
+            The key used to identify the item in the cache.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CacheEntry">
+            <summary>
+            This class is used to wrap entries stored in the cache.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Lock">
+            <summary>
+            The reader-writer lock to use when accessing this CacheStore instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Count">
+            <summary>
+            Returns the number of items currently stored in the cache. Accessing this property
+            causes a check of all items in the cache to ensure collected items are not counted.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Item(System.String)">
+            <summary>
+            Indexer for accessing or adding cache entries.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.CacheStore.Item(System.String,Gentle.Common.CacheStrategy)">
+            <summary>
+            Indexer for adding a cache item using the specified strategy.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Insert(System.String,System.Object)">
+            <summary>
+            Insert a collectible object into the cache.
+            </summary>
+            <param name="key">The cache key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Insert(System.String,System.Object,Gentle.Common.CacheStrategy)">
+            <summary>
+            Insert an object into the cache using the specified cache strategy (lifetime management).
+            </summary>
+            <param name="key">The cache key used to reference the item.</param>
+            <param name="value">The object to be inserted into the cache.</param>
+            <param name="strategy">The strategy to apply for the inserted item (use Temporary for objects 
+            that are collectible and Permanent for objects you wish to keep forever).</param>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Get(System.Object)">
+            <summary>
+            Retrieves an entry from the cache using the given key. If the entry exists but has
+            been collected then this method will also remove the item from the cache by temporarily
+            upgrading the supplied lock to a writer lock.
+            </summary>
+            <param name="key">The cache key of the item to retrieve.</param>
+            <returns>The retrieved cache item or null if not found.</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Remove(System.Object)">
+            <summary>
+            Removes the object associated with the given key from the cache.
+            </summary>
+            <param name="key">The cache key of the item to remove.</param>
+            <returns>The item removed from the cache or null if nothing was removed.</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.RemoveObject(System.Object)">
+            <summary>
+            Removes the given object from the cache.
+            </summary>
+            <param name="instance">The object to remove.</param>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.Clear">
+            <summary>
+            Removes all entries from the cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.ClearCollected">
+            <summary>
+            Process all items in the cache and remove entries that refer to collected items.
+            </summary>
+            <returns>The number of live cache entries still in the cache.</returns>
+        </member>
+        <member name="M:Gentle.Common.CacheStore.ToString">
+            <summary>
+            This method returns a string with information on the cache contents (number of contained objects).
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.UniqingScope">
+            <summary>
+            This enumeration is used to select the scope within which to ensure 
+            object uniqing. This is only appliccable when object caching is enabled.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.UniqingScope.WebSession">
+            <summary>
+            This value indicates that objects are uniqued within the scope of an ASP.NET
+            web session. If no session exists Application scope is used.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.UniqingScope.Thread">
+            <summary>
+            This value indicates that objects are uniqued within a thread. This is the
+            default scope. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.UniqingScope.Application">
+            <summary>
+            This value indicates that objects are uniqued within an application. It is
+            up to the application developer to ensure thread safety.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigKeyPresence">
+            <summary>
+            Enumeration of configuration key requirements (mandatory or optional).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigKeyPresence.Mandatory">
+            <summary>
+            This value is used to mark required configuration keys. An exception will
+            be thrown if the key is not found during configuration of a type or instance.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigKeyPresence.Optional">
+            <summary>
+            This value is used to mark optional configuration keys. No exception will
+            be thrown if the key is missing from the configuration file.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigurationAttribute">
+            <summary>
+            Attribute with which to decorate members that need configuring. The configuration 
+            subsystem automatically converts the value to the proper type of the target. If
+            this attribute is used on a method then the method will be called once for every
+            node matching the specified XmlNodePath (refer to <see cref="T:Gentle.Common.CallbackTarget"/> for 
+            additional information on this).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationAttribute.xmlNodePath">
+            <summary>
+            The XML path to the node containing the configuration value(s).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationAttribute.requiredParameters">
+            <summary>
+            The number of callback method parameters whose presence is required in order
+            for the method to be eligible for invocation. Only parameters after this 
+            number of parameters will be considered for null or default value substition.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationAttribute.keyPresenceRequirement">
+            <summary>
+            This denotes whether the configuration key used for a configuration target
+            is optional or mandatory. When mandatory (the default) an exception is raised 
+            if the specified key is not found in the configuration file.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationAttribute.#ctor(System.String)">
+            <summary>
+            Creates a new ConfigurationAttribute using the given path as the XPath
+            to the target node in the configuration tree. The node must be present or an
+            exception will be raised.
+            </summary>
+            <param name="xmlNodePath">The XPath to the node. This should always start with the
+            root node "Gentle.Framework" (this is also true when the .NET configuration file
+            is used instead of Gentle.config).</param>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationAttribute.#ctor(System.String,Gentle.Common.ConfigKeyPresence)">
+            <summary>
+            Creates a new ConfigurationAttribute using the given path as the XPath
+            to the target node in the configuration tree. The node must be present or an
+            exception will be raised.
+            </summary>
+            <param name="xmlNodePath">The XPath to the node. This should always start with the
+            root node "Gentle.Framework" (this is also true when the .NET configuration file
+            is used instead of Gentle.config).</param>
+            <param name="keyPresenceRequirement">The presence requirement of the specified key.
+            Refer to <see cref="T:Gentle.Common.ConfigKeyPresence"/> for the available options.</param>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationAttribute.XmlNodePath">
+            <summary>
+            The XML path to the node containing the configuration value(s).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationAttribute.RequiredParameters">
+            <summary>
+            The number of callback method parameters whose presence is required in order
+            for the method to be eligible for invocation. Only parameters after this 
+            number of parameters will be considered for null or default value substition.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationAttribute.KeyPresenceRequirement">
+            <summary>
+            This denotes whether the configuration key used for a configuration target
+            is optional or mandatory. When mandatory (the default) an exception is raised 
+            if the specified key is not found in the configuration file.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigurationMap">
+            <summary>
+            This class maintains information on the configurable elements of a class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationMap.#ctor(System.Type)">
+            <summary>
+            Construct a new ConfigurationMap for the given type. This involves reflecting 
+            on the given type to find all static and instance members carrying 
+            the <see cref="T:Gentle.Common.ConfigurationAttribute"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationMap.Configure(System.Collections.IList,System.Object)">
+            <summary>
+            Configure all targets in the specified object using the given ElementTree 
+            as source. If a Type is passed in obj, static members will be configured.
+            If an object instance is passed in obj, instance members will be configured.
+            </summary>
+            <param name="handlers">The list of handlers providing the source values</param>
+            <param name="obj">The object to be configured</param>
+        </member>
+        <member name="T:Gentle.Common.Configurator">
+            <summary>
+            This class serves as the access point for classes wishing to interact with
+            the configuration subsystem.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Configurator.#ctor">
+            <summary>
+            Private constructor to prevent instances of static class
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddSectionHandler(System.String,System.String)">
+            <summary>
+            This method creates a configuration handler for the specified section
+            of the standard .NET configuration file.
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="sectionName">The section name with which the GentleSectionHandler
+            has been declared in the .NET configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddSectionHandler(System.String)">
+            <summary>
+            This method creates a configuration handler for the specified section
+            of the standard .NET configuration file.
+            </summary>
+            <param name="sectionName">The section name with which the GentleSectionHandler
+            has been declared in the .NET configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddFileHandler(System.String,System.String)">
+            <summary>
+            This method creates a configuration handler for the specified file name. The
+            file name must not include path information (Gentle will search for it in specific
+            predefined locations).
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="fileName">The name of the configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddFileHandler(System.String)">
+            <summary>
+            This method creates a configuration handler for the specified file name. The
+            file name must not include path information (Gentle will search for it in specific
+            predefined locations).
+            </summary>
+            <param name="fileName">The name of the configuration file.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddExternalHandler(System.String,System.Xml.XmlNode)">
+            <summary>
+            This method creates a configuration handler for the given XML fragment,
+            which (if valid) will be used as configuration source.
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="root">The root node of the XML fragment to use as 
+            configuration source.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddExternalHandler(System.Xml.XmlNode)">
+            <summary>
+            This method creates a configuration handler for the given XML fragment,
+            which (if valid) will be used as configuration source.
+            </summary>
+            <param name="root">The root node of the XML fragment to use as 
+            configuration source.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddStreamHandler(System.String,System.IO.Stream)">
+            <summary>
+            This method creates a configuration handler for the specified stream.
+            </summary>
+            <param name="configStoreName">The name with which to associate this handler. If null is given
+            the handler will be used to configure Gentle settings, otherwise it will only be used when
+            Configure is called with a matching name.</param>
+            <param name="stream">The stream from which to read the configuration XML document/snippet.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.AddStreamHandler(System.IO.Stream)">
+            <summary>
+            This method creates a configuration handler for the specified stream.
+            </summary>
+            <param name="stream">The stream from which to read the configuration XML document/snippet.</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.String,System.Object)">
+            <summary>
+            Configure all targets in the specified instance.
+            </summary>
+            <param name="configStoreName">The name of the handler to use as configuration source.
+            If null is given, Gentle's configuration store will be used (effectively this means
+            one of the automatically registered handlers).</param>
+            <param name="instance">The object to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.Object)">
+            <summary>
+            Configure all targets in the specified instance.
+            </summary>
+            <param name="instance">The object to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.String,System.Type)">
+            <summary>
+            Configure all targets in the specified type (static members).
+            </summary>
+            <param name="configStoreName">The name of the handler to use as configuration source.
+            If null is given, Gentle's configuration store will be used (effectively this means
+            one of the automatically registered handlers).</param>
+            <param name="type">The type to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.Configure(System.Type)">
+            <summary>
+            Configure all targets in the specified type (static members).
+            </summary>
+            <param name="type">The type to be configured</param>
+        </member>
+        <member name="M:Gentle.Common.Configurator.GetKey(System.String,System.String)">
+            <summary>
+            Direct accessor for obtaining a specific value from a configuration store.
+            </summary>
+            <param name="configStoreName">The named configuration store to use or null for Gentle's default store.</param>
+            <param name="configKeyPath">The XPath to the configuration value (element or attribute).</param>
+            <returns>The value of the given key or null if nothing was found.</returns>
+        </member>
+        <member name="M:Gentle.Common.Configurator.InitializeHandlers">
+            <summary>
+            This method creates the default configuration handlers provided 
+            by Gentle itself.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.Configurator.IsLoggingEnabled">
+            <summary>
+            Accessor to turn logging on or off. This property is updated when the configuration 
+            is being accessed.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.Configurator.HandlerCount">
+            <summary>
+            Returns the number of valid registered configuration handlers. Only the first handler
+            is used used to obtain configuration options, but if HandlerCount is 0 then Gentle
+            has not been able to find any valid configuration source.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.ConfigurationHandler">
+            <summary>
+            Abstract base class for all configuration handlers. A handler encapsulates the 
+            specifics of extracting the Gentle configuration segment from a backend store,
+            such as the file system or another configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.ConfigurationHandler.root">
+            <summary>
+            The root node of the Gentle configuration fragment.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationHandler.#ctor(System.Xml.XmlNode)">
+            <summary>
+            Constructor used to create a handler when an XML fragment is passed 
+            to the Configurator class.
+            </summary>
+            <param name="root">The root configuration node.</param>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationHandler.IsValid">
+            <summary>
+            Determines whether this section handler has access to a valid configuration store
+            and was able to read the required information from it.
+            </summary>
+            <returns>True if this handler can be used as settings input, false otherwise.</returns>
+        </member>
+        <member name="P:Gentle.Common.ConfigurationHandler.XmlRoot">
+            <summary>
+            Obtains the root node of the configuration fragment from the handler.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationHandler.GetNode(System.String)">
+            <summary>
+            Obtains the requested configuration node from the tree.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.ConfigurationHandler.GetNodes(System.String)">
+            <summary>
+            Obtains the requested configuration node from the tree.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.FileHandler">
+            <summary>
+            This class is a handler for the Gentle.config file, responsible for locating and
+            loading the file (by searching a list of predefined relative paths).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.APPSETTINGS_FILE">
+            <summary>
+            The key used to lookup a custom config file location in the standard .NET configuration file.
+            If this key is present the specified filename will be used before searching elsewhere.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.APPSETTINGS_FOLDER">
+            <summary>
+            The key used to lookup a custom config file location in the standard .NET configuration file.
+            If this key is present the specified folder will be searched before any other folder.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.CONFIG_FILENAME">
+            <summary>
+            Preconfigured filename that this class will look for when loading the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.CONFIG_FOLDERS">
+            <summary>
+            List of folders that Gentle will search (in addition to any custom folder specified in the
+            regular .NET configuration file (usually App.config or Web.config). Folders are searched in
+            order of appearance. All paths are expanded relative to the location of the Gentle assembly.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.FileHandler.localConfigFilePath">
+            <summary>
+            The full local path and file name of the configuration file. This variable is initialized
+            once the full location and filename has been determined. Thus, it contains the local file 
+            path (and name) of the file this handler is using.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileHandler.#ctor">
+            <summary>
+            Constructor to use when Gentle should search for a file called Gentle.config
+            in a number of predefined locations.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileHandler.#ctor(System.String)">
+            <summary>
+            Constructor to use when specifying a path and filename manually.
+            </summary>
+            <param name="file">The full local path and filename to the 
+            configuration file.</param>
+        </member>
+        <member name="T:Gentle.Common.GentleSectionHandler">
+            <summary>
+            This class is a handler for the standard .NET config files (App.config or Web.config). The
+            section name to use is "gentle" and is hardcoded in the HandlerRegistry class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleSectionHandler.#ctor">
+            <summary>
+            Create a new .NET section handler for obtaining settings from App.config or Web.config.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
+            <summary>
+            Implementaton of the .NET configuration file section handler. This is called by .NET
+            when the associated section is fetched.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.SystemSettings">
+            <summary>
+            Placeholder class for Gentle.NET global configuration settings
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.Environment">
+            <summary>
+            A unique string identifying the environment the current application is running in. The
+            default value is "development". This is used to support storing multiple multiple
+            configurations for different deployment environments in the same config file.
+            The value of the environment is itself read from the config file using the path
+            "MachineName/WebPath" (when not in web mode, WebPath is part of the directory path
+            from which the application was started).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.MachineName">
+            <summary>
+            The Windows name of the current host.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.WebPath">
+            <summary>
+            The web application path this application is running as. This is usually the same
+            as the name of the IIS virtual directory. When not a web application, a fragment
+            of the path to the current directory is used.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.WebSessionID">
+            <summary>
+            The session id of the current web session, or an empty string if no web session
+            has been established.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.ApplicationName">
+            <summary>
+            The name of the application.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.ThreadIdentity">
+            <summary>
+             
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.WindowsIdentity">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.SystemSettings.IsWindowsPlatform">
+            <summary>
+            True if the underlying OS is a Windows environment.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.CallbackTarget">
+            <summary>
+            This class is used for configuration elements that result in a method call. 
+            Use this target when you need to obtain a list of elements from the configuration
+            file; the callback method will be called once for every node matching the path.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.CallbackTarget.Configure(System.Object,System.Xml.XmlNode)">
+            <summary>
+            Use the supplied XmlNode to configure the target object. This configuration target 
+            performs a method callback on the target object, and uses the attributes of the XmlNode
+            as parameters. The method parameter names must match the names of the node attributes 
+            (a leading underscore will be stripped to permit using C# reserved words in the XML file). 
+            This method does not check whether the node matches the requested environment.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="node">The node containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.CallbackTarget.Configure(System.Object,System.Xml.XmlNodeList)">
+            <summary>
+            Use the supplied XmlNodes to configure the target object. This method filters the
+            given list of nodes by environment before applying them individually. All nodes 
+            matching the current environment AND all nodes not limited by an environment
+            attribute are used for configuration.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="nodes">The list of nodes containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.ElementTarget.IsEnvironment(System.Xml.XmlNode,System.String)">
+            <summary>
+            Method called to determine if an XmlNode carries an "environment" attribute with the
+            specified value. This is used to limits node visibility to a certain environment.
+            </summary>
+            <param name="node">The node to check.</param>
+            <param name="environment">The environment value to check for.</param>
+            <returns>True if the attribute named "environment" is found and has the value given in
+            the environment parameter, false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Common.ElementTarget.IsCommonEnvironment(System.Xml.XmlNode)">
+            <summary>
+            Method called to determine if an XmlNode carries an "environment" attribute to limits
+            its visibility to a certain environment.
+            </summary>
+            <param name="node">The node to check.</param>
+            <returns>True if no attribute named "environment" is found, false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Common.ElementTarget.Configure(System.Object,System.Xml.XmlNodeList)">
+            <summary>
+            Use the supplied XmlNodes to configure the target object. This method filters the given
+            list of nodes by environment before applying them individually.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="nodes">The list of nodes containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.FieldTarget.Configure(System.Object,System.Xml.XmlNode)">
+            <summary>
+            Use the supplied XmlNode to configure the target object. This method does not check
+            whether the node matches the requested environment.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="node">The node containing the configuration value(s).</param>
+        </member>
+        <member name="M:Gentle.Common.PropertyTarget.Configure(System.Object,System.Xml.XmlNode)">
+            <summary>
+            Use the supplied XmlNode to configure the target object. This method does not check
+            whether the node matches the requested environment.
+            </summary>
+            <param name="target">The object to cofigure.</param>
+            <param name="node">The node containing the configuration value(s).</param>
+        </member>
+        <member name="T:Gentle.Common.LevelAttribute">
+            <summary>
+            This attribute is used to decorate the <see cref="T:Gentle.Common.Error"/> enumeration with 
+            a predefined severity level. This allows the framework to handle errors
+            differently depending on their severity (such as suppressing logging or
+            by handling them internally). This is particularly useful when moving from
+            development/testing to production, where you want a more resilient system.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.LevelAttribute.#ctor(Gentle.Common.Severity)">
+            <summary>
+            Create a new Level attribute.
+            </summary>
+            <param name="severity">The severity to associate with this LevelAttribute instance.</param>
+        </member>
+        <member name="P:Gentle.Common.LevelAttribute.Severity">
+            <summary>
+            The severity associated with this attribute.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.MessageAttribute">
+            <summary>
+            This attribute is used to decorate the <see cref="T:Gentle.Common.Error"/> enumeration with 
+            a predefined error message. The associated message will be used as format
+            string for the error message when a GentleException with this Error is throw.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MessageAttribute.#ctor(System.String)">
+            <summary>
+            Create a new Message attribute.
+            </summary>
+            <param name="message">The message to associate with this attribute instance.</param>
+        </member>
+        <member name="P:Gentle.Common.MessageAttribute.Message">
+            <summary>
+            The message (format string) associated with this attribute.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.MessageAttribute.ArgumentCount">
+            <summary>
+            The number of format string parameters required to format a message using
+            the message associated with this attribute.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.Check">
+            <summary>
+            <p>This helper class is used throughout the framework. It provides assertion methods,
+            standardized error reporting and automatic exception creation. The exception type
+            raised is hardcoded in the static constructor.</p>
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Check.verbosity">
+            <summary>
+            This defines the minimum severity level at which exceptions will be
+            logged. All exceptions with a lower severity will not be logged.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Check.frailty">
+            <summary>
+            This defines the minimum severity level at which exceptions will be
+            re-thrown once logging is done. All exceptions with a lower severity
+            will be silently "swallowed" - use with caution!
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Check.LogCategories">
+            <summary>
+            Log topic categories enabled (default is none).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.RegisterLogCategory(Gentle.Common.LogCategories,System.Boolean)">
+            <summary>
+            Callback method for configuration options to turn logging in the available
+            categories on or off.
+            </summary>
+            <param name="name">The name of the logging category.</param>
+            <param name="enabled">True if logging should be enabled for the 
+            specified category. Note that subsequent entries in the config
+            file may override earlier definitions.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.IsLogEnabled(Gentle.Common.LogCategories)">
+            <summary>
+            Call this method to determine whether the passed category (or combination
+            of categories) is enabled.
+            </summary>
+            <param name="category">The category or categories to process.</param>
+            <returns>True if all of the specified categories are enabled.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.FailWith(Gentle.Common.Severity,Gentle.Common.Error,System.Exception,System.String)">
+            <summary>
+            Internal method performing error logging and throwing of exceptions.
+            </summary>
+            <param name="severity">The severity of the error.</param>
+            <param name="error">The error classification.</param>
+            <param name="e">The exception leading to this error (if any).</param>
+            <param name="msg">The error message for this error.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.Fail(System.String,System.Object[])">
+            <summary>
+            This method formats and logs an error message, then raises a GentleException.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Fail(System.Exception,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method formats and logs an error message, then raises a GentleException.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Fail(Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method formats and logs an error message, then raises a GentleException.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IsTrue(System.Boolean,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IsTrue(System.Boolean,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Verify(System.Boolean,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.Verify(System.Boolean,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyEquals(System.Object,System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyEquals(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNotNull(System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNotNull(System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyIsNull(System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyIsNull(System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNull(System.Object,Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.VerifyNull(System.Object,System.String,System.Object[])">
+            <summary>
+            This method is used to perform assertions. If the assertion fails an error message
+            will be logged and a GentleException thrown.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IfNull(System.Object,System.Object)">
+            <summary>
+            This method is used to select the first object not being null from a list of 2 objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.IsCalledFrom(System.String,System.Exception)">
+            <summary>
+            Check whether the specified tracer string occurs in the stack trace of the call
+            leading to the exception. This method excludes the last three method calls from
+            the stack trace analysis, assuming that the exception was provoked by a call
+            to one of the Check.Verify or Check.Fail methods.
+            </summary>
+            <param name="tracer">The case-sensitive string to look for in the stack trace.
+            Usually this will be "Class.Method" or a similar fragment.</param>
+            <param name="e">The exception whose call stack is to be inspected.</param>
+            <returns>True if the tracer is found in the stack trace.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.IsCalledFrom(System.String,System.Exception,System.Int32)">
+            <summary>
+            Check whether the specified tracer string occurs in the stack trace of the call
+            leading to the exception.
+            </summary>
+            <param name="tracer">The case-sensitive string to look for in the stack trace.
+            Usually this will be "Class.Method" or a similar fragment.</param>
+            <param name="e">The exception whose call stack is to be inspected.</param>
+            <param name="skipFrames">Skip this number of stack frames from the search.</param>
+            <returns>True if the tracer is found in the stack trace.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.IsCalledFrom(System.String,System.Diagnostics.StackTrace)">
+            <summary>
+            Check whether the specified tracer string occurs in the given stack trace.
+            </summary>
+            <param name="tracer">The case-sensitive string to look for in the stack trace.
+            Usually this will be "Class.Method" or a similar fragment.</param>
+            <param name="stackTrace">The stack trace to be inspected.</param>
+            <returns>True if the tracer is found in the stack trace.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.GetExternalCaller(System.Exception)">
+            <summary>
+            Determine and return information on the calling class, that is, the class making
+            the initial call to the Check class. If an exception is passed, the stack trace
+            leading to that exception will be used instead.
+            </summary>
+            <returns>The class executing the current call to the Check class.</returns>
+        </member>
+        <member name="M:Gentle.Common.Check.Log(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String,System.Object[])">
+            <summary>
+            Log a message.  The current logging level is used to determine
+            	if the message is appended to the configured appender
+            	or if it is ignored.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">The severity of the logging message.</param>
+            <param name="errorMsg">A concise description of the problem encountered.</param>
+            <param name="args">Variable values that are to be captured with the logging statement.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.Log(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String)">
+            <summary>
+            Log a message.  The specified <see cref="T:Gentle.Common.Severity"/> level is compared against
+            the current logging levels to determine if the message is logged or ignored.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">The severity level of the logging message.</param>
+            <param name="msg">The message to log.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.Log(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String,System.Exception)">
+            <summary>
+            Log a message.  The specified <see cref="T:Gentle.Common.Severity"/> level is compared against
+            the current logging levels to determine if the message is logged or ignored.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">The severity level of the logging message.</param>
+            <param name="msg">The message to log.</param>
+            <param name="e">An exception to associate with the error being logged.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.LogMessage(Gentle.Common.LogCategories,Gentle.Common.Severity,System.String,System.Exception)">
+            <summary>
+            Log a message.  Actually perform the logging message to the
+            	appender specifified in the configuration file.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="s">A <see cref="T:Gentle.Common.Severity"/> level which is used to determine if 
+            the message should be logged or ignored.</param>
+            <param name="msg">A string value describing the message.</param>
+            <param name="e">An exception that has occurred.  If no exception has occurred, use <code>null</code>.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.LogDebug(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Convenience methods for logging with a predefined severity level.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.LogInfo(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Convenience methods for logging with a predefined severity level.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.LogWarning(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Convenience methods for logging with a predefined severity level.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Check.LogError(Gentle.Common.LogCategories,System.String,System.Object[])">
+            <summary>
+            Log an error message. The error message is delegated to the log4net 
+            appender(s) in the app config file.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="errorMsg">A description of what has occurred.</param>
+            <param name="args">Variable values that were present at
+            the time the error occurred.</param>
+        </member>
+        <member name="M:Gentle.Common.Check.LogError(Gentle.Common.LogCategories,System.Exception)">
+            <summary>
+            Log an error message. Include the exception that has occurred
+            in the text of the error message.
+            </summary>
+            <param name="category">The category to which this log statement belongs.</param>
+            <param name="e">The exception to be logged.</param>
+        </member>
+        <member name="T:Gentle.Common.Error">
+            <summary>
+            <p>This enumeration lists all common error conditions, their severity and a 
+            default error message.</p>
+            <p>Unspecified errors or errors with no severity attribute are treated as critical.</p>
+            <p>At this time almost all errors have been brainlessly classified as critical pending
+            a review at some future time.</p>
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.DatabaseUnavailable">
+            <summary>
+            This error is used when no connection to the database server could be
+            established. This is usually caused by errors in the connection
+            string, but can also be due to network or database server problems.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.DeveloperError">
+            <summary>
+            This error is used when an error in the use of Gentle was detected 
+            (e.g. invalid use of or missing custom attributes). No default message
+            is provided for this error (if used via the Check class the first
+            argument will be used as format string for remaining arguments).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.EmptyListParameter">
+            <summary>
+            This error is used when a list parameter with content (i.e. not null
+            and with at least one element) was expected.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidNullValue">
+            <summary>
+            This error is used when a DateTime has an invalid NullValue.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidProviderLibrary">
+            <summary>
+            This error is used when Gentle fails to load a provider library defined
+            in the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidRequest">
+            <summary>
+            This error is used when Gentle detects an invalid request, such as trying to
+            execute a missing stored procedure. It is also used when a request cannot be
+            satisfied (e.g. trying to obtain an SqlStatement from SqlBuilder before all
+            required information has been set).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.InvalidType">
+            <summary>
+            This error is used when an object is added to a TypedArrayList, and the objects
+            type does not match the type specified when the list was created.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.MissingConfigurationKey">
+            <summary>
+            This error is used when Gentle fails to find a matching node (for a required
+            setting) in the configuration store.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoColumnForMember">
+            <summary>
+            This error is used when Gentle finds a member (field or property) carrying
+            the TableColumn attribute that references a non-existing column.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoDefaultProvider">
+            <summary>
+            This error is used when the Broker class is used and no DefaultProvider was
+            defined in the configuration file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoIdentityReturned">
+            <summary>
+            This error is used when a row identity was expected but none was received. 
+            This usually only happens if the analyzer has been disabled (or is incomplete 
+            for the provider used) and the table definition is out of sync with the TableName
+            attribute definition used.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoNewConnection">
+            <summary>
+            This error is used when no new connection to the database server could be
+            established. This is usually caused by a resource leak that drains the
+            connection pool before the GC can reclaim them, but can also be caused
+            by a variety of other problems.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoObjectMapForTable">
+            <summary>
+            This error is used when no type is associated with a table (the available
+            databases are enumerated by the analyzer when in "Full" mode). Errors of
+            this type can safely be ignored.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoProperty">
+            <summary>
+            This error is used when no member was found with the specified name. This usually
+            occurs due to spelling or case sensitivity errors in string parameters.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoPropertyForNotNullColumn">
+            <summary>
+            This error is used when a column is found that does not permit null values, yet the
+            type to which it maps does not have a member mapping to this column. This error is thrown
+            by the database analyzer in order to prevent later errors when trying to insert to the
+            table. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoProviders">
+            <summary>
+            This error is used when no database provider libraries were defined in the configuration.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoSuchParameter">
+            <summary>
+            This error is used when a non-existing query parameter is referenced. This usually occurs
+            due to spelling or case sensitivity errors.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoSuchRecord">
+            <summary>
+            This error is used when no matching database record was found. This can be
+            the result of a concurrency error or due to invalid parameter values.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoConfigStoreFound">
+            <summary>
+            This error is used when no configuration store could be found. Gentle tries to
+            obtain its configuration from both the standard .NET configuration file (using
+            the <see cref="T:Gentle.Common.GentleSectionHandler"/> class to read the &lt;gentle&gt; section)
+            and the standalone Gentle.config file.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NoSuchView">
+            <summary>
+            This error is used when a non-existing view is referenced. This usually occurs
+            due to spelling or case sensitivity errors in parameters from client-side code.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NotImplemented">
+            <summary>
+            This error is used when the requested method has not yet been implemented. 
+            This usually occurs due to incomplete development code being accessed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullParameter">
+            <summary>
+            This error is used when a null parameter is passed to a method that does not
+            permit null values. This usually occurs due to errors in client-side code.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullIdentity">
+            <summary>
+            This error is used when trying to set the identity value on a class, but the
+            class does not have an identity column.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullProperty">
+            <summary>
+            This error is used when a member was null, but a not-null value was required.
+            This usually occurs due to errors in client-side code.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.NullWithNoNullValue">
+            <summary>
+            This error is used when a column contained a null value and the corresponding
+            member does not permit null values. This usually occurs due to a missing NullValue
+            declaration on the TableColumn attribute of the member.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.PropertyReadOnly">
+            <summary>
+            This error is used when a property is read-only, but write access was required. This can
+            usually be corrected by moving the TableColumn attribute to the underlying member, or by
+            adding a setter for the property.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.PropertyWriteOnly">
+            <summary>
+            This error is used when a property is write-only, but read access was required. This can
+            usually be corrected by moving the TableColumn attribute to the underlying member, or by
+            adding a getter for the property.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.StatementError">
+            <summary>
+            This error is used when statement execution fails. This is usually due to syntax errors
+            in the specified SQL string.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnknownAssembly">
+            <summary>
+            This error is used when an assembly name cannot be resolved to an Assembly instance. This 
+            may occur due to missing project references or invalid location of the required DLL. When
+            the Inheritance attribute is used it may also occur due to invalid names in the 
+            database column storing the full type name.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnknownProvider">
+            <summary>
+            This error is used when a provider cannot be found in the list of registered providers.
+            This usually occurs due to a missing entry (or incorrect name) in the configuration file.   
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnknownTable">
+            <summary>
+            This error is used when a type references a table that does not exist. This usually
+            occurs due to spelling or case sensitivity errors in the declaration of the TableName
+            attribute.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnexpectedRowCount">
+            <summary>
+            This error is used when the returned number of rows does not match the expected count.
+            This can be due to concurrency (record changed by another process) or parameter value 
+            errors.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.Unspecified">
+            <summary>
+            This error is used for unclassified errors of all kinds.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedColumnType">
+            <summary>
+            This error is used when an unsupported database type is encountered during analysis
+            of the database schema.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedConfigStoreUri">
+            <summary>
+            This error is used when an explicit configuration file path (location of Gentle.config)
+            was specified in the AppSettings section of the .NET configuration file, yet the path
+            specified was not valid. This can be due to errors in the URI, an illegal path, or an
+            unsupported destination (only files are supported).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedDatabaseFunction">
+            <summary>
+            This error is used when an unsupported database function is called.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedPropertyType">
+            <summary>
+            This error is used when an unsupported member type is encountered. To correct the error
+            you must remove the TableColumn attribute, or move it to a member of a different type.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.UnsupportedType">
+            <summary>
+            This error is used when an unsupported type is passed as argument to a method that
+            required the type to be supported. This usually occurs due to a missing TableName 
+            attribute on the class declaration, but can also be remedied by having the class
+            implement the ITableName interface.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.ViewError">
+            <summary>
+            This error is used when an error occurred during generation of a custom view.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Error.Validation">
+            <summary>
+            This error is used when a business object contains an incorrect value.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.GentleException">
+            <summary>
+            The exception class thrown by classes in the Gentle.Framework namespace. Because
+            all new infomation resides in the ExceptionInfo descendant the Exception class itself
+            doesn't add anything new.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.GentleException.error">
+            <summary>
+            An enumeration value indicating the cause of the current exception.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleException.#ctor(Gentle.Common.Error,System.String)">
+            <summary>
+            Constructor taking an <see cref="P:Gentle.Common.GentleException.Error"/> and a custom message to go with the error. 
+            The framework consistently uses the <see cref="P:Gentle.Common.GentleException.Error"/> enumeration to classify 
+            raised exceptions.
+            </summary>
+            <param name="error">The Error condition leading to this exception</param>
+            <param name="msg">An additional message text</param>
+        </member>
+        <member name="M:Gentle.Common.GentleException.#ctor(Gentle.Common.Error,System.String,System.Exception)">
+            <summary>
+            Constructor taking an <see cref="P:Gentle.Common.GentleException.Error"/>, a custom message to go with the error
+            and the exception leading to this error. The framework consistently uses the 
+            <see cref="P:Gentle.Common.GentleException.Error"/> enumeration to classify raised exceptions.
+            </summary>
+            <param name="error">The Error condition leading to this exception</param>
+            <param name="msg">A specific message to go with the error</param>
+            <param name="e">An existing exception instance</param>
+        </member>
+        <member name="M:Gentle.Common.GentleException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Deserialization constructor (required for serializing exceptions)
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            ISerializable method used by the serialization engine to save custom fields
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleException.Error">
+            <summary>
+            The Error enum specifies the error class and is also used to obtain the message used.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleException.Severity">
+            <summary>
+            The severity of the error leading to this exception.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleException.ToString">
+            <summary>
+            Returns the current GentleException and all nested exceptions as a multiline string.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.GentleStatistics">
+            <summary>
+            Singleton used to store various statistical information (counters).
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.CacheHits">
+            <summary>
+            Return the number of successful attempts at looking up something
+            in the cache.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.CacheMisses">
+            <summary>
+            Return the number of unsuccessful attempts at looking up something
+            in the cache.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.UniqingCount">
+            <summary>
+            Return the number of successful attempts at object uniqing. This
+            number effectively represents the number of object constructions
+            skipped due to a cache hit.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.SkippedQueries">
+            <summary>
+            Return the number of successful attempts at resolving a query
+            without contacting the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.GentleStatistics.CacheSize">
+            <summary>
+            Return the number of items currently in the cache.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleStatistics.Reset(Gentle.Common.LogCategories)">
+            <summary>
+            Reset all counters to 0.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.GentleStatistics.LogStatistics(Gentle.Common.LogCategories)">
+            <summary>
+            Emit current statistics for the specified categories.
+            </summary>
+            <param name="category">The categories to emit statistics for.</param>
+        </member>
+        <member name="T:Gentle.Common.LogCategories">
+            <summary>
+            Enumeration of logging categories used by Gentle. These can be used to 
+            selectively enable or disable logging for the specified categories.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.None">
+            <summary>
+            Select none of the available categories.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecutionRead">
+            <summary>
+            Log execution of select statements and their parameters (before execution) and 
+            rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecutionWrite">
+            <summary>
+            Log execution of insert/update/delete statements and their parameters (before execution) 
+            and rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecutionOther">
+            <summary>
+            Log execution of all non-CRUD type of statements (than thand their parameters (before 
+            execution) and rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.StatementExecution">
+            <summary>
+            Log execution of all types of statements and their parameters (before execution) and 
+            rows returned/affected (after execution).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.Cache">
+            <summary>
+            Log successful cache hits, cache lookup misses and various other 
+            cache-related performance counters.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.Metadata">
+            <summary>
+            Log metadata information gathered from databases, attributes or XML files.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.General">
+            <summary>
+            Log general information (configuration errors and uncategorized logging).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.LogCategories.All">
+            <summary>
+            Select all available categories.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.Messages">
+            <summary>
+            Helper class for handling the formatting of error messages.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Messages.GetMsg(Gentle.Common.Error,System.Object[])">
+            <summary>
+            This method creates a formatted error message constructed using the format 
+            string associated with the given error and the list of supplied arguments.
+            The number of arguments must match that of the format string.
+            </summary>
+            <param name="error">The error for which to return an error message.</param>
+            <param name="args">The arguments (if any) to use in formatting the message.</param>
+            <returns>The formatted error message.</returns>
+        </member>
+        <member name="T:Gentle.Common.Severity">
+            <summary>
+            This enumeration lists severity levels used to classify exceptions. The levels
+            have been loosely adapted from the UNIX syslog levels.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Debug">
+            <summary>
+            This severity level is used for messages containing debug information. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Info">
+            <summary>
+            This severity level is used for informational messages.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Warning">
+            <summary>
+            This severity level is used for warning messages.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Error">
+            <summary>
+            This severity level is used for error messages. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Critical">
+            <summary>
+            This severity level is used for error messages when the cause was of a critical nature.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Severity.Unclassified">
+            <summary>
+            This severity level is used for messages whose severity has not been classified. In most
+            cases this corresponds to the Debug classification.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.NamespaceDoc">
+            <summary>
+            <p>The <see cref="N:Gentle.Common"/> namespace contains code used by but not
+            specific to Gentle.</p><p></p>
+            <p>The TypedArrayList folder contains a typed version of the .NET Framework
+            ArrayList class. The advantage against the standard <see cref="T:System.Collections.ArrayList"/>
+            is, that the <see cref="T:Gentle.Common.TypedArrayList"/> could be bound to a DataGrid control without
+            restrictions.</p>
+            <p>Although it is possible to bind a standard ArrayList to a DataGrid control you will not be
+            able to add or remove rows or to sort the data because the standard ArrayList doesn't implement
+            the needed interfaces <see cref="T:System.ComponentModel.ITypedList"/> and
+            <see cref="T:System.ComponentModel.IBindingList"/>.</p>
+            <p>To make the binding more comfortable, the namespace contains some attributes which changes
+            the default behaviour of the binding process of the DataGrid control. If you use the attributes
+            you are able to</p><br />
+            <list type="bullet">
+              <item><description>define user defined column headers with the <see cref="T:Gentle.Common.Attributes.CaptionAttribute"/></description></item>
+              <item><description>allow / disallow sorting of specific columns with the <see cref="T:Gentle.Common.Attributes.AllowSortAttribute"/></description></item>
+              <item><description>hide specific columns with the <see cref="T:Gentle.Common.Attributes.VisibleAttribute"/></description></item>
+            </list>
+            <br />
+            <p>The code is based on the article "Sammelleidenschaften" in the dot.net Magazin 02/2003 by Thomas Fenske.</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.MemberAttributeInfo">
+            <summary>
+            Helper class used to store information on a member and the attributes it is decorated with.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MemberAttributeInfo.MemberInfo">
+            <summary>
+            The member (method, field, property, etc.) with which the attributes are associated.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MemberAttributeInfo.Attributes">
+            <summary>
+            The list of attributes found.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MemberAttributeInfo.#ctor(System.Reflection.MemberInfo,System.Collections.IList)">
+            <summary>
+            Create a new MemberAttributeInfo instance linking a MemberInfo object to the
+            attributes it is carrying.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.MemberAttributeInfo.Item(System.Int32)">
+            <summary>
+            Obtain one of the attributes associated with the MemberInfo.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.MethodDispatcher">
+            <summary>
+            Helper class for determining the best matching method from a set of available
+            methods. The best matching method is determined from the given set of parameters
+            on the call to <see cref="M:Gentle.Common.MethodDispatcher.Invoke(System.Object,System.Collections.Hashtable)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodDispatcher.#ctor(Gentle.Common.MethodInvoker)">
+            <summary>
+            Construct a new MethodDispatcher instance. Initially only a single method must be given,
+            however, to make full use of this class you may add additional candidate methods using
+            the <see cref="M:Gentle.Common.MethodDispatcher.AddInvoker(Gentle.Common.MethodInvoker)"/> method.
+            </summary>
+            <param name="invoker"></param>
+        </member>
+        <member name="M:Gentle.Common.MethodDispatcher.AddInvoker(Gentle.Common.MethodInvoker)">
+            <summary>
+            Add a method to the list of available methods for this method dispatcher.
+            </summary>
+            <param name="invoker">A MethodInvoker instance with information on the new method.</param>
+        </member>
+        <member name="M:Gentle.Common.MethodDispatcher.Invoke(System.Object,System.Collections.Hashtable)">
+            <summary>
+            Invoke the best available match (from a list of methods available) for the supplied parameters. 
+            If no method can be called using the supplied parameters, an exception is raised. Any exceptions
+            raised by the called method will be logged and then re-thrown.
+            </summary>
+            <param name="target">The object on which to invoke a method.</param>
+            <param name="parameters">A hashtable of parameter name/value pairs. All parameters given
+            must be used in the method call in order for a method to be considered.</param>
+            <returns>The return value of the invocation.</returns>
+        </member>
+        <member name="T:Gentle.Common.MethodInvokable">
+            <summary>
+            This class wraps a single invokable method call. It contains information
+            on the method to call as well as the parameters to use in the method call.
+            This intermediary class is used by the MethodDispatcher to select the best
+            match to call from a given set of available methods (and a single set of
+            parameter values).
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MethodInvokable.MethodInvoker">
+            <summary>
+            The <see cref="F:Gentle.Common.MethodInvokable.MethodInvoker"/> wrapping the method to call.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MethodInvokable.MatchIndicator">
+            <summary>
+            A value indicating how good a match this is (for a given set of parameters). This value 
+            is used by the <see cref="T:Gentle.Common.MethodDispatcher"/> to decide which method to invoke from a 
+            set of choices.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.MethodInvokable.ParameterValues">
+            <summary>
+            The parameter values used when invoking the method.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodInvokable.#ctor(Gentle.Common.MethodInvoker,System.Int32,System.Object[])">
+            <summary>
+            Construct a new MethodInvokable instance in preparation for executing
+            the actual method call.
+            </summary>
+            <param name="invoker">The <see cref="F:Gentle.Common.MethodInvokable.MethodInvoker"/> wrapping the method to call.</param>
+            <param name="matchIndicator">A value indicating how good a match this is (for a given
+            set of parameters). This value is used by the <see cref="T:Gentle.Common.MethodDispatcher"/> to decide
+            which method to invoke from a set of choices.</param>
+            <param name="parameterValues">The parameter values used when invoking the method.</param>
+        </member>
+        <member name="M:Gentle.Common.MethodInvokable.Invoke(System.Object)">
+            <summary>
+            Perform the actual method invocation.
+            </summary>
+            <param name="target">The object to call the method on.</param>
+            <returns>The return value of the method call.</returns>
+        </member>
+        <member name="T:Gentle.Common.MethodInvoker">
+            <summary>
+            Helper class used to store information on a particular method, and the
+            ability to execute calls on it (if supplied with valid parameters).
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.#ctor(System.Reflection.MethodInfo,System.Int32)">
+            <summary>
+            Construct a new MethodInvoker instance.
+            </summary>
+            <param name="methodInfo">The <see cref="P:Gentle.Common.MethodInvoker.MethodInfo"/> for the method that this instance wraps.</param>
+            <param name="requiredParameters">The number of parameters (counting
+            from left to right) that are required to call the method. Any subsequent 
+            parameters may be substituted with a default value (if available) or null.</param>
+        </member>
+        <member name="P:Gentle.Common.MethodInvoker.MethodInfo">
+            <summary>
+            The <see cref="P:Gentle.Common.MethodInvoker.MethodInfo"/> for the method that this instance wraps.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.MethodInvoker.RequiredParameters">
+            <summary>
+            The number of parameters (counting from left to right) that are required 
+            to call the method. Any subsequent parameters may be substituted with a 
+            default value (if available) or null.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.SetDefaultValue(System.String,System.Object)">
+            <summary>
+            Store a default value for the given parameter. This value will be used if no
+            value has been supplied for the parameter, and it is not a required parameter.
+            </summary>
+            <param name="parameterName">The name (case-insensitive) of the parameter to 
+            look for.</param>
+            <param name="value">The default value to use when none is otherwise given.</param>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.PrepareInvoke(System.Collections.Hashtable)">
+            <summary>
+            Prepare a <see cref="T:Gentle.Common.MethodInvokable"/> instance for calling the underlying method
+            using the supplied parameters. If the call cannot be made using the given parameters,
+            null is returned.
+            </summary>
+            <param name="parameters">A hashtable of parameter name/value pairs.</param>
+            <returns>A <see cref="T:Gentle.Common.MethodInvokable"/> instance prepared for execution of the
+            method call.</returns>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.Invoke(System.Object,System.Object[])">
+            <summary>
+            Invoke the underlying method on the given target object using the supplied parameter values.
+            Any exception raised by performing the method call is logged and then exposed as-is.
+            </summary>
+            <param name="target">The object on which to invoke the method.</param>
+            <param name="parameterValues">The parameter values used to invoke the method.</param>
+            <returns>The return value of the invocation.</returns>
+        </member>
+        <member name="M:Gentle.Common.MethodInvoker.Invoke(System.Object,System.Collections.Hashtable)">
+            <summary>
+            Invoke the underlying method on the given target object using the supplied parameter values.
+            Any exception raised by performing the method call is logged and then exposed as-is.
+            </summary>
+            <param name="target">The object on which to invoke the method.</param>
+            <param name="parameters">A hashtable of parameter name/value pairs.</param>
+            <returns>The return value of the invocation.</returns>
+        </member>
+        <member name="T:Gentle.Common.Reflector">
+            <summary>
+            Helper class for performing various reflection tasks, such as gathering information
+            on members and their custom attributes.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.DefaultCriteria">
+            <summary>
+            Search criteria encompassing all public and non-public members.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.InstanceCriteria">
+            <summary>
+            Search criteria encompassing all public and non-public instance members.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.StaticCriteria">
+            <summary>
+            Search criteria encompassing all public and non-public static members, including those of parent classes.
+            </summary>
+        </member>
+        <member name="F:Gentle.Common.Reflector.AllCriteria">
+            <summary>
+            Search criteria encompassing all members, including those of parent classes.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindConstructors(System.Type)">
+            <summary>
+            Find and return a list of all available (non-abstract) constructors for the specified type.
+            </summary>
+            <param name="type">The type to reflect on</param>
+            <returns>A list of useable constructors</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindMembers(System.Reflection.BindingFlags,System.Type,System.Boolean,System.Type[])">
+            <summary>
+            Find and return a list of members for the specified type.
+            </summary>
+            <param name="criteria">The search criteria used to restrict the members included in the search</param>
+            <param name="type">The type to reflect on</param>
+            <param name="allowDuplicates">When true, multiple instances of the same attribute type are allowed 
+            in the result. When false, only the first instance found will be included</param>
+            <param name="attributeTypes">The list of attribute types to search for.</param>
+            <returns>A list of MemberAttributeInfo objects with information on the member and 
+            the attributes with which it is decorated</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindMember(System.Reflection.BindingFlags,System.String,System.Type)">
+            <summary>
+            Find a specific named member on the given type.
+            </summary>
+            <param name="criteria">The search criteria used to restrict the members included in the search</param>
+            <param name="name">The name of the member to find</param>
+            <param name="type">The type to reflect on</param>
+            <returns>A single MemberInfo instance of the first found match or null if no match was found</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindAttribute(System.Enum,System.Type)">
+            <summary>
+            Find a specific attribute type on the given enumeration instance.
+            </summary>
+            <param name="instance">An enumeration value on which to search for the attribute.</param>
+            <param name="attributeType">The attribute type to search for.</param>
+            <returns>An instance of the attribute type specified if it was found on the instance.</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.FindAttributes(System.Boolean,System.Reflection.MemberInfo,System.Type[])">
+            <summary>
+            Helper method used to find attributes associated with the specified member.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Reflector.GetValue(System.Reflection.MemberInfo,System.Object)">
+            <summary>
+            Return the value of the specified member on the given instance.
+            </summary>
+            <param name="memberInfo">The member whose value should be extracted.</param>
+            <param name="instance">The instance holding the member.</param>
+            <returns>The value of the speficied member.</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.GetValue(System.String,System.Object)">
+            <summary>
+            Return the value of the specified member on the given instance.
+            </summary>
+            <param name="name">The name of the member whose value should be extracted. Only instance
+            fields will be considered by this method. If multiple members are found with the same 
+            name, the value of the first will be used.</param>
+            <param name="instance">The instance holding the member.</param>
+            <returns>The value of the speficied member.</returns>
+        </member>
+        <member name="M:Gentle.Common.Reflector.SetValue(System.Reflection.MemberInfo,System.Object,System.Object)">
+            <summary>
+            Update the specified member on the given instance with the supplied value.
+            </summary>
+            <param name="memberInfo">The member whose value should be updated.</param>
+            <param name="instance">The instance holding the member.</param>
+            <param name="value">The value to use in the update.</param>
+        </member>
+        <member name="T:Gentle.Common.TypeConverter">
+            <summary>
+            Helper class for converting into various types.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.Get(System.Type,System.Xml.XmlNode)">
+            <summary>
+            Convert the supplied XmlNode into the specified target type. Only the InnerXml portion
+            of the XmlNode is used in the conversion, unless the target type is itself an XmlNode.
+            </summary>
+            <param name="targetType">The type into which to convert</param>
+            <param name="node">The source value used in the conversion operation</param>
+            <returns>The converted value</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.Get(System.Type,System.String)">
+            <summary>
+            Convert the supplied string into the specified target type. 
+            </summary>
+            <param name="targetType">The type into which to convert</param>
+            <param name="value">The source value used in the conversion operation</param>
+            <returns>The converted value</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.Get(System.Type,System.Object)">
+            <summary>
+            Convert the supplied object into the specified target type. 
+            </summary>
+            <param name="targetType">The type into which to convert</param>
+            <param name="obj">The source value used in the conversion operation</param>
+            <returns>The converted value</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.IsNullAssignable(System.Type)">
+            <summary>
+            Check whether null can be assigned to instances of the given type.
+            </summary>
+            <param name="type">The type to check for null assignment compatibility.</param>
+            <returns>True if null can be assigned, false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.IsFixedNumeric(System.Type)">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.GetBoolean(System.Object)">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.ToGuid(System.String)">
+            <summary>
+            Convert the binary string (16 bytes) into a Guid.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.ToBinaryString(System.Guid)">
+            <summary>
+            Convert the Guid into a binary string.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypeConverter.CloneDeep(System.Object)">
+            <summary>
+            Perform a deep cloning of the supplied object instance using serialization.
+            </summary>
+            <param name="obj">The object to clone.</param>
+            <returns>A copy of the supplied instance.</returns>
+        </member>
+        <member name="T:Gentle.Common.Attributes.AllowSortAttribute">
+            <summary>
+            Controlling the Sorting capbility of a column in a DataGrid control.
+            </summary>
+            <remarks>
+            <p>This attribute is intended to uses with the <see cref="T:Gentle.Common.TypedArrayList"/>
+            class. For the objects contained in the <c>TypedArrayList</c> you can determine if a property of
+            the object may act as a sortable column in the corresponding DataGrid control.</p>
+            <p>Per default (if the attribute isn't used) sorting capability is enabled.</p>
+            </remarks>
+            <example>
+            <code>
+            public class Person
+            {
+              private string mName;
+            	
+              <b>[AllowSort(false)]</b>
+              public string Name
+              {
+                get { return mName; }
+                set { mName = value; }
+              }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="M:Gentle.Common.Attributes.AllowSortAttribute.#ctor(System.Boolean)">
+            <summary>
+            Default constructor for the attribute.
+            </summary>
+            <param name="allowSort">
+            <div class="tablediv">
+            <table class="dtTABLE" cellspacing="0">
+            	<tr>
+            		<td><b>true</b></td>
+            		<td>Sorting is enabled for the corresponding <c>DataGrid</c> column</td>
+            	</tr>
+            	<tr>
+            		<td><b>false</b></td>
+            		<td>Sorting is disabled for the corresponding <c>DataGrid</c> column</td>
+            	</tr>
+            </table>
+            </div>
+            </param>
+        </member>
+        <member name="P:Gentle.Common.Attributes.AllowSortAttribute.Value">
+            <summary>
+            Returns the current value of the attribute.
+            </summary>
+            <value>
+            A boolean flag, which tells if the corresponding <c>DataGrid</c> column
+            is sortable or not.
+            </value>
+        </member>
+        <member name="T:Gentle.Common.Attributes.CaptionAttribute">
+            <summary>
+            Defining the caption of a column in a DataGrid control.
+            </summary>
+            <remarks>
+            <p>This attribute is intended to uses with the <see cref="T:Gentle.Common.TypedArrayList"/> class.
+            Per default the DataGrid control retrieve the names of all public property methods of the objects
+            which are displayed in the DataGrid control by Reflection and uses them as column headers.
+            The <c>TypedArrayList</c> use this attribute to display an alternative caption.</p> 
+            </remarks>
+            <example>
+            <code>
+            public class Person
+            {
+              private string mName;
+            	
+              <b>[Caption("Last Name")]</b>
+              public string Name
+              {
+                get { return mName; }
+                set { mName = value; }
+              }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="M:Gentle.Common.Attributes.CaptionAttribute.#ctor(System.String)">
+            <summary>
+            Default constructor for the attribute.
+            </summary>
+            <param name="caption">
+            The display name of the property in the column header of a <c>DataGrid</c>.
+            </param>
+        </member>
+        <member name="P:Gentle.Common.Attributes.CaptionAttribute.Value">
+            <summary>
+            The attribute's value.
+            </summary>
+            <value>
+            The column header text for a <c>DataGrid</c>.
+            </value>
+        </member>
+        <member name="T:Gentle.Common.Attributes.VisibleAttribute">
+            <summary>
+            Controlling the visibility of a property in a DataGrid control.
+            </summary>
+            <remarks>
+            <p>This attribute is intended to uses with the <see cref="T:Gentle.Common.TypedArrayList"/>
+            class. For the objects contained in the <c>TypedArrayList</c> you can determine if the 
+            property should be visible in the DataGrid control.</p>
+            <p>Per default (if this attribute isn't present) all public properties of the objects contained
+            in the <c>TypedArrayList</c> are visible columns in the DataGrid control.</p>
+            <p>If you set the visibility of a property in your class to false, you can't access it in the
+            DataGrid control because there is no column for this property. If you want to access the property
+            in the DataGrid you have to set the ColumnWidth of the DataGrid column to zero.</p>
+            </remarks>
+            <example>
+            <code>
+            public class Person
+            {
+              private string mName;
+            	
+              <b>[Visible(false)]</b>
+              public string Name
+              {
+                get { return mName; }
+                set { mName = value; }
+              }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="M:Gentle.Common.Attributes.VisibleAttribute.#ctor(System.Boolean)">
+            <summary>
+            Default constructor for the attribute.
+            </summary>
+            <param name="visible">
+            <div class="tablediv">
+            <table class="dtTABLE" cellspacing="0">
+            	<tr>
+            		<td><b>true</b></td>
+            		<td>The property is a visible column in the DataGrid control</td>
+            	</tr>
+            	<tr>
+            		<td><b>false</b></td>
+            		<td>The property will not be shown in the DataGrid control</td>
+            	</tr>
+            </table>
+            </div>
+            </param>
+        </member>
+        <member name="P:Gentle.Common.Attributes.VisibleAttribute.Value">
+            <summary>
+            The attribute's value.
+            </summary>
+            <value>The column header text for a <c>DataGrid</c>.</value>
+        </member>
+        <member name="T:Gentle.Common.RemoveEventHandler">
+            <summary>
+            The <c>RemoveEventHandler</c> handles the cancellation of edit
+            actions in a DataGrid control.
+            </summary>
+            <remarks>
+            If the user cancels the data editing of a new line in the 
+            DataGrid, the <see cref="M:System.ComponentModel.IEditableObject.CancelEdit"/> event
+            is fired and must be handled by the object which is being edited. The 
+            <see cref="T:Gentle.Common.TypedArrayList"/> must be informed to remove the
+            object from it's list. This will be done by firing a RemoveObject event in the
+            <c>CancelEdit</c> event handler.
+            </remarks>
+        </member>
+        <member name="T:Gentle.Common.IBindable">
+            <summary>
+            Interface for types which will be bound to a DataGrid using the
+            <see cref="T:Gentle.Common.TypedArrayList"/>.
+            </summary>
+            <remarks>
+            All types stored in a <see cref="T:Gentle.Common.TypedArrayList"/> which
+            will be bound to a DataGrid control should implement this interface.
+            It defines all methods and events needed to support the editing facilities
+            of the DataGrid control.
+            </remarks>
+        </member>
+        <member name="E:Gentle.Common.IBindable.RemoveObject">
+            <summary>
+            The event should be fired, if the user cancels the editing of
+            a newly created object in the DataGrid control.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.TypedArrayList">
+            <summary>
+            A strongly typed ArrayList with binding capabilities.
+            <seealso cref="T:Gentle.Common.Attributes.AllowSortAttribute"/>
+            <seealso cref="T:Gentle.Common.Attributes.CaptionAttribute"/>
+            <seealso cref="T:System.ComponentModel.ReadOnlyAttribute"/>
+            <seealso cref="T:Gentle.Common.Attributes.VisibleAttribute"/>
+            </summary>
+            <remarks>
+            <p>Implemententation of a strongly typed array list of objects with full support
+            for data binding (e.g. for use with a Datagrid control. </p>
+            <p>The <c>TypedArrayList</c> class implements the <see cref="T:System.ComponentModel.ITypedList"/>
+            and <see cref="T:System.ComponentModel.IBindingList"/> interfaces to provide databinding
+            to list controls like the DataGrid control with full support for adding and removing
+            entries and sorting the displayed list.</p>
+            <p>The property methods of the types stored in the list can be flagged with a set 
+            of attributes to control the the behaviour of the data grid.</p><br/>
+            <table class="dtTABLE" cellspacing="0" style="width: 60%">
+            	<tr>
+            		<th width="10%">Attribute name</th>
+            		<th width="90%">usage</th>
+            	</tr>
+            	<tr>
+            		<td width="10%">Caption</td>
+            		<td width="90%">Defines the caption of the column in the data grid.</td>
+            	</tr>
+            	<tr>
+            		<td width="10%">ReadOnly</td>
+            		<td width="90%">(From <see cref="N:System.ComponentModel"/>) Flags the column in the data grid as read-only.</td>
+            	</tr>
+            	<tr>
+            		<td width="10%">AllowSort</td>
+            		<td width="90%">Flags the column in the data grid as sortable.</td>
+            	</tr>
+            	<tr>
+            		<td width="20%">Visible</td>
+            		<td width="80%">Defines if the property is a visible column in the DataGrid control.</td>
+            	</tr>
+            </table><br/>
+            <p>There is one restriction for the types stored in the <c>TypedArrayList</c> if you want
+            to use the editing facilities of the DataGrid control. The types stored in the list must
+            implement the <see cref="T:Gentle.Common.IBindable"/> interface. If you don't do this, adding
+            and removing objects in the DataGrid will not work properly.</p>
+            </remarks>
+        </member>
+        <member name="F:Gentle.Common.TypedArrayList.containedType">
+            <summary>
+             The type of the objects in the list.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.#ctor(System.Type)">
+            <summary>
+            Default constructor.
+            </summary>
+            <param name="containedType">The type of the object stored in the ArrayList</param>
+        </member>
+        <member name="E:Gentle.Common.TypedArrayList.ListChanged">
+            <summary>
+            Implementation of <see cref="E:System.ComponentModel.IBindingList.ListChanged"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnListChanged(System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Fires the ListChanged event for all attached listeners.
+            </summary>
+            <param name="e">The <see cref="T:System.ComponentModel.ListChangedEventArgs"/> for the event.</param>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.AnalyseObjectType">
+            <summary>
+            Store a list of all property methods of the type stored in the ArrayList. 
+            </summary>
+            <remarks>
+            The list is used by the <see cref="M:System.ComponentModel.ITypedList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])"/>.
+            Because using Reflection is time consuming the property methods are reflected once
+            while constructing an object of the TypedArrayList class.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveChild(System.Object,System.EventArgs)">
+            <summary>
+            Implements the RemoveObject event for the object stored in the list.
+            </summary>
+            <param name="value">The object which causes the event</param>
+            <param name="e">The event arguments</param>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Match(System.Object,System.Object)">
+            <summary>
+            Helper method for the <see cref="M:Gentle.Common.TypedArrayList.Find(System.ComponentModel.PropertyDescriptor,System.Object)"/> method. Checks
+            if the current object meets the search crieria.
+            </summary>
+            <param name="data">The current object.</param>
+            <param name="searchValue">The searched object.</param>
+            <returns>´<b>True</b>, if the current object meets the search
+            criteria, <b>false</b> if not.</returns>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnClearComplete">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnClearComplete"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnInsertComplete(System.Int32,System.Object)">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnInsertComplete(System.Int32,System.Object)"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnRemoveComplete(System.Int32,System.Object)">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnRemoveComplete(System.Int32,System.Object)"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.OnSetComplete(System.Int32,System.Object,System.Object)">
+            <summary>
+            See <see cref="M:System.Collections.CollectionBase.OnSetComplete(System.Int32,System.Object,System.Object)"/>
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.ITypedList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])"/>.
+            </summary>
+            <remarks>
+            For each property method of the type contained in the list, a <c>PropertyDescriptor</c>
+            will be created. If a property is flagged <i>not visible</i>, it will be omitted.
+            The <c>TypedArrayList</c> uses a custom implementation of the PropertyDescriptor,
+            <see cref="T:Gentle.Common.Util.CaptionPropertyDescriptor"/>, to support interpreting attributes.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.GetListName(System.ComponentModel.PropertyDescriptor[])">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.ITypedList.GetListName(System.ComponentModel.PropertyDescriptor[])"/>.
+            </summary>
+            <returns>The name of the type of the objects in the list.</returns>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.AddIndex(System.ComponentModel.PropertyDescriptor)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.AddIndex(System.ComponentModel.PropertyDescriptor)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.AllowNew">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.AllowNew"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.SortBy(System.String,System.ComponentModel.ListSortDirection)">
+            <summary> 
+            Sorts a TypedArrayList with the selected property.
+            </summary> 
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.ApplySort(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.ApplySort(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SortProperty">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SortProperty"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Find(System.ComponentModel.PropertyDescriptor,System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.Find(System.ComponentModel.PropertyDescriptor,System.Object)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SupportsSorting">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SupportsSorting"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsSorted">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.IsSorted"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.AllowRemove">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.AllowRemove"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SupportsSearching">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SupportsSearching"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SortDirection">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SortDirection"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SupportsChangeNotification">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.SupportsChangeNotification"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveSort">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.RemoveSort"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.AddNew">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.AddNew"/>.
+            </summary>
+            <remarks>
+            The implementation uses reflection to instantiate an object of the current 
+            object type. If the types contained in the list do not implement the IBindable
+            interface, adding new objects to the list will not work properly.
+            </remarks>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.AllowEdit">
+            <summary>
+            Implementation of <see cref="P:System.ComponentModel.IBindingList.AllowEdit"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveIndex(System.ComponentModel.PropertyDescriptor)">
+            <summary>
+            Implementation of <see cref="M:System.ComponentModel.IBindingList.RemoveIndex(System.ComponentModel.PropertyDescriptor)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsReadOnly">
+            <summary>
+            Implementation of <see cref="P:System.Collections.IList.IsReadOnly"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.Item(System.Int32)">
+            <summary>
+            Implementation of <see cref="P:System.Collections.IList.Item(System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Insert(System.Int32,System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Insert(System.Int32,System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Remove(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Remove(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.RemoveAt(System.Int32)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.RemoveAt(System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Contains(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Contains(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Clear">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Clear"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.IndexOf(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.IndexOf(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.Add(System.Object)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.IList.Add(System.Object)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsFixedSize">
+            <summary>
+            Implementation of <see cref="P:System.Collections.IList.IsFixedSize"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.IsSynchronized">
+            <summary>
+            Implementation of <see cref="P:System.Collections.ICollection.IsSynchronized"/>.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.TypedArrayList.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Implementation of <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="P:Gentle.Common.TypedArrayList.SyncRoot">
+            <summary>
+            Implementation of <see cref="P:System.Collections.ICollection.SyncRoot"/>.
+            </summary>
+        </member>
+        <member name="T:Gentle.Common.Util.CaptionPropertyDescriptor">
+            <summary>
+            A custom <see cref="T:System.ComponentModel.PropertyDescriptor"/> implementation.
+            </summary>
+            <remarks>
+            <p>The CaptionPropertyDescriptor is used in the implementation of the 
+            <see cref="T:System.ComponentModel.ITypedList"/> interface. 
+            It enhances the <see cref="T:System.ComponentModel.PropertyDescriptor"/>
+            to handle the custom attributes <c>Caption</c>, <c>ReadOnly</c> and <c>AllowSort</c>.</p>
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.#ctor(System.String,System.Reflection.PropertyInfo)">
+            <summary>
+            Initialize a new <c>CaptionPropertyDescriptor</c> with the specified name
+            and <c>PropertyInfo</c>.
+            </summary>
+            <param name="name">The name of the property</param>
+            <param name="propertyInfo">The <c>PropertyInfo</c> for the property.</param>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.ComponentType">
+            <summary>
+            Gets the type of the component this property is bound to.
+            <seealso cref="P:System.ComponentModel.PropertyDescriptor.ComponentType">
+            <c>System.ComponentModel.PropertyDescriptor.ComponentType()</c>
+            </seealso>
+            </summary>
+            <value>A <see cref="T:System.Type"><c>System.Type</c></see> that represents the type of component 
+            this property is bound to. When <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"><c>PropertyDescriptor.GetValue</c></see>
+            or <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"><c>PropertyDescriptor.SetValue</c></see>
+            are invoked, the object specified might be an instance of this type.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.DisplayName">
+            <summary>
+            Gets the name that can be displayed in a window, such as a Properties window.
+            If the <c>Caption</c> attribute is defined for the property representing by this
+            <c>PropertyDescriptor</c>, the attribute's value is returned
+            instead of the original name.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.DisplayName">
+            <c>System.ComponentModel.PropertyDescriptor.DisplayName</c>
+            </seealso>.
+            </summary>
+            <value>The name to display for the member.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.IsReadOnly">
+            <summary>
+            Gets a value indicating whether this property is read-only.
+            <seealso cref="P:System.ComponentModel.PropertyDescriptor.IsReadOnly">
+            <c>System.ComponentModel.PropertyDescriptor.IsReadOnly()</c>
+            </seealso>
+            </summary>
+            <returns><b>true</b>, if the <c>ReadOnly</c> is defined for the current property of the class.</returns>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.Name">
+            <summary>
+            Gets the name of the member.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.Name" />
+            </summary>
+            <value>The name of the member.</value>
+            <remarks>
+            <p>If the <c>Caption</c> attribute is defined for the property representing by this
+            <c>PropertyDescriptor</c>, the attribute's value is returned
+            instead of the original name.</p>
+            This property is only overridden because the <c>DataGrid</c> don't use
+            the <see cref="P:System.ComponentModel.MemberDescriptor.Name"><c>PropertyDescriptor.Name</c></see>
+            property.
+            </remarks>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.PropertyType">
+            <summary>
+            Gets a value indicating whether this property is read-only.
+            <seealso cref="P:System.ComponentModel.PropertyDescriptor.PropertyType" />
+            </summary>
+            <value><b>true</b> if the property is read-only; otherwise, <b>false</b>.</value>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.CanResetValue(System.Object)">
+            <summary>
+            Returns whether resetting an object changes its value.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.CanResetValue(System.Object)" />
+            </summary>
+            <param name="component">The component to test for reset capability.</param>
+            <returns><b>true</b> if resetting the component changes its value; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.GetValue(System.Object)">
+            <summary>
+            Gets the current value for this property on a component.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)" />
+            </summary>
+            <param name="component">The component with the property for which to retrieve the value.</param>
+            <returns>The value of a property for a given component.</returns>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.ResetValue(System.Object)">
+            <summary>
+            Resets the value for this property of the component to the default value.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.ResetValue(System.Object)">
+            <c>System.ComponentModel.PropertyDescriptor.ResetValue</c>
+            </seealso>
+            </summary>
+            <param name="component">The component with the property value that is to be reset to the default value.</param>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.SetValue(System.Object,System.Object)">
+            <summary>
+            Sets the value of the component to a different value.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)">
+            <c>System.ComponentModel.PropertyDescriptor.SetValue()</c>
+            </seealso>
+            </summary>
+            <param name="component">The component with the property value that is to be set.</param>
+            <param name="value">The new value.</param>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.ShouldSerializeValue(System.Object)">
+            <summary>
+            Determines a value indicating whether the value of this property needs to be persisted.
+            <seealso cref="M:System.ComponentModel.PropertyDescriptor.ShouldSerializeValue(System.Object)">
+            <c>System.ComponentModel.PropertyDescriptor.ShouldSerialzeValue</c>
+            </seealso>
+            </summary>
+            <param name="component">The component with the property to be examined for persistence.</param>
+            <returns><b>true</b> if the property should be persisted; otherwise, <b>false</b>.</returns>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.AllowSort">
+            <summary>
+            Returns a value that indicates if the property which is represented by the member
+            allows sorting in the <c>DataGrid</c>.
+            </summary>
+            <value><b>true</b>, if the <c>ReadOnly</c> is defined for the current property of the class.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.OriginalDisplayName">
+            <summary>
+            Returns the original member display name.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.DisplayName">
+            <c>System.ComponentModel.PropertyDescriptor.DisplayName</c>
+            </seealso>.
+            </summary>
+            <value>The display name of the member.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.OriginalName">
+            <summary>
+            Returns the original member name.
+            <seealso cref="P:System.ComponentModel.MemberDescriptor.Name">
+            <c>System.ComponentModel.PropertyDescriptor.Name</c>
+            </seealso>.
+            </summary>
+            <value>The name of the member.</value>
+        </member>
+        <member name="P:Gentle.Common.Util.CaptionPropertyDescriptor.OriginalDescriptor">
+            <summary>
+            The original descriptor.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.Util.CaptionPropertyDescriptor.FindOrigPropertyDescriptor(System.Reflection.PropertyInfo)">
+            <summary>
+            Retrieve the standard <c>PropertyDescriptor</c> for a property.
+            </summary>
+            <param name="propertyInfo">The property for which the <c>PropertyDescriptor</c> should be searched.</param>
+            <returns>
+            The standard <c>PropertyDescriptor</c> for the property or <b>null</b>
+            if no <c>PropertyDescriptor</c> was found.</returns>
+        </member>
+        <member name="T:Gentle.Common.Util.ObjectPropertyComparer">
+            <summary>
+            Internal class for sorting objects.
+            </summary>
+            <remarks>
+            The <c>ObjectPropertyComparer</c> acts a a comparer for the objects contained in a
+            <see cref="T:Gentle.Common.TypedArrayList"/>. It sorts the objects based on the 
+            name of the property passed in the constructor. This comparer is used internally,
+            if the TypedArrayList is bound to a DataGrid control and the user clicks on a 
+            column header to sort the data.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Common.Util.ObjectPropertyComparer.#ctor(System.String)">
+            <summary>
+            Initialize a new Comparer for a given property.
+            </summary>
+            <param name="propertyName">The name of the property to compare.</param>
+        </member>
+        <member name="M:Gentle.Common.Util.ObjectPropertyComparer.Compare(System.Object,System.Object)">
+            <summary>
+            Compare two objects based on the property name passed to the constructor.
+            </summary>
+            <param name="x">The first object to compare.</param>
+            <param name="y">The second object to compare.</param>
+            <returns>
+            <div class="tablediv">
+            <table class="dtTABLE" cellspacing="0">
+            	<tr>
+            		<th width="50%">Value</th>
+            		<th width="50%">Condition</th>
+            	</tr>
+            	<tr>
+            		<td width="50%">Less than zero</td>
+            		<td width="50%"><i>a</i> is less than <i>b</i></td>
+            	</tr>
+            	<tr>
+            		<td width="50%">Zero</td>
+            		<td width="50%"><i>a</i> equals <i>b</i></td>
+            	</tr>
+            	<tr>
+            		<td width="50%">Greater than zero</td>
+            		<td width="50%"><i>a</i> is greater than <i>b</i></td>
+            	</tr>
+            </table>
+            </div>
+            </returns>
+        </member>
+        <member name="T:Gentle.Common.FileSystemUtil">
+            <summary>
+            This class is a container for useful file system commands.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsValidFilePath(System.String)">
+            <summary>
+            Check whether a file exists at the specified location.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsFileName(System.String)">
+            <summary>
+            Check whether the specified parameter is a file name without any path information.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsFolder(System.String)">
+            <summary>
+            Check whether the specified parameter is a path name without any file information. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.IsRelativePath(System.String)">
+            <summary>
+            Check whether the supplied path is relative or absolute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.CombinePathAndFileName(System.String,System.String)">
+            <summary>
+            Combine the supplied folder and file name into a single absolute local file path.
+            </summary>
+        </member>
+        <member name="M:Gentle.Common.FileSystemUtil.DetermineFileLocation(System.String,System.String[])">
+            <summary>
+            Search for the specified file in the given search locations and return the first match.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.csproj b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.csproj
index 61af972..0aab85c 100644
--- a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.csproj
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.csproj
@@ -325,6 +325,7 @@
     <Content Include="Database Scripts\Sybase.sql" />
     <Content Include="lib\nunit.framework.dll" />
     <Content Include="lib\Rhino.Mocks.dll" />
+    <None Include="app.config" />
     <None Include="Database Files\Gentle_MSAccess.mdb" />
     <None Include="Database Files\Gentle_SQLite2.db" />
     <None Include="Database Files\Gentle_SQLite3.db" />
@@ -334,6 +335,6 @@
   <PropertyGroup>
     <PreBuildEvent>
     </PreBuildEvent>
-    <PostBuildEvent>$(ProjectDir)Postbuild.bat $(ConfigurationName) $(ProjectDir)$(OutDir) $(SolutionDir)..\..\..\..\TvEngine3\TVLibrary\TVDatabase\references</PostBuildEvent>
+    <PostBuildEvent>"$(ProjectDir)Postbuild.bat" $(ConfigurationName) "$(ProjectDir)$(OutDir)" "$(SolutionDir)..\..\..\..\TvEngine3\TVLibrary\TVDatabase\references"</PostBuildEvent>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.xml
new file mode 100644
index 0000000..eb8129b
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/Gentle.Framework.Tests.xml
@@ -0,0 +1,1076 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Framework.Tests</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Framework.Tests.PHNullableType">
+            <summary>
+            This type is used to test for handling enums as strings.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHNullableType.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHNullableType.#ctor(System.Int32,System.String,System.Nullable{System.DateTime})">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PHNullableType.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.GuidHolder">
+            <summary>
+            The TestGuid class is used as a standalone tester for the GUID data type. It also demonstrates
+            how the Gentle attributes can be used on properties instead of fields. Note that this class
+            does not use an auto-generated primary key.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.GuidHolderIP">
+            <summary>
+            This class is used to test that Gentle handles types not inheriting from Persistent,
+            but only implementing the IPersistent interface. It is not related to the GuidHolder
+            class except in that it maps to the same table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.GetKey">
+            <summary>
+            Abstract method for subclasses to implement. It should return a <see cref="T:Gentle.Framework.Key"/> 
+            instance containing all the primary key properties of this object.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Persist">
+            <summary>
+            Persist the current instance to the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Persist the current instance to the database as part of the given transaction.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Remove">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Remove(Gentle.Framework.Transaction)">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.GuidHolderIP.Refresh">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MailingList">
+            <summary>
+            The MailingList class is a business object representing a mailing list. It has a few
+            properties describing the list itself as well as a list of members, each of
+            the <see cref="T:Gentle.Framework.Tests.Member"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.Retrieve(System.Int32)">
+            <summary>
+            Construct a list instance by retrieving an existing list from the database.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.#ctor(System.String,System.String)">
+            <summary>
+            Construct a new list instance.
+            </summary>
+            <param name="name">The name of the list</param>
+            <param name="senderAddress">The sender address used to send mails</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.#ctor(System.Int32,System.String,System.String)">
+            <summary>
+            Construct a list instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list in the database</param>
+            <param name="name">The name of the list</param>
+            <param name="senderAddress">The sender address used to send mails</param>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.Id">
+            <summary>
+            This is the primary key property of this class. It maps to the table column
+            ListId and the value is automatically generated by the database on insert.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.Name">
+            <summary>
+            This property holds the name of the MailingList instance. It maps to the 
+            ListName column and is not allowed to be null. 
+            The property is a member of the DataView named "All" and is put in the first 
+            column (whose header will be "List Name").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.SenderAddress">
+            <summary>
+            This property holds the email address used as the from address when sending emails.
+            It maps to a column also called SenderAddress and cannot be null.
+            The property is a member of the DataView named "All" and is put in the third 
+            column (whose header will be "Sender Address").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.SubscriberCount">
+            <summary>
+            This property returns the number of members/subscribers for this instance. It is not 
+            persistent but calculated on the fly by counting all members.
+            The property is a member of the DataView named "All" and is put in the second 
+            column (whose header will be "Subscribers").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.ViewAll">
+            <summary>
+            Construct a DataView of all MailingList instances for use in a UI component.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.Members">
+            <summary>
+            Example list retrieval of objects from a different table.
+            The list is constrained by the specified properties of the current object.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.ListMembersBySenderAddress">
+            <summary>
+            Example list retrieval of all Members related to the current MailingList
+            instance using the *fictional* foreign key relationship between SenderAddress
+            and Member.Address. No test case for this as it is merely here to show you
+            the syntax :-) 
+            It will fail if you execute it unless you modify the classes involved.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.Retrieve(System.String)">
+            <summary>
+            Example list retrieval of a single object using a non-primary key value. If
+            multiple lists are returned the statement will fail.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MailingList.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.ListByDomain(System.String)">
+            <summary>
+            Example list retrieval of objects using a custom "like" constraint.
+            </summary>
+            <param name="domain">A partial (right-side exact) string to match for senderaddress</param>
+            <returns>A list of MailingList objects</returns>
+        </member>
+        <member name="M:Gentle.Framework.Tests.MailingList.ListByCustomListConstraint">
+            <summary>
+            Example list retrieval of objects using a custom "in" constraint.
+            </summary>
+            <returns>A list of MailingList objects</returns>
+        </member>
+        <member name="T:Gentle.Framework.Tests.Member">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.Member.#ctor">
+            <summary>Default constructor so object can be serialized.</summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.Member.Id">
+            <summary>
+            The primary key field. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberCC">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MemberCC.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberCCSD">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MemberCCSD.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberPicture">
+            <summary>
+            The MemberPicture class represents a MailingList subscriber picture.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberSD">
+            <summary>
+            The Member class represents a MailingList subscriber.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.MemberSD.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MemberValidation">
+            <summary>
+            The MemberValidation class is used to verify custom validators.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.MultiType">
+            <summary>
+            Summary description for MultiType.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.Numbers">
+            <summary>
+            Summary description for ManyNumbers.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHBase">
+            <summary>
+            Abstract base class for test classes using the PropertyHolder table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHBase.#ctor(System.Int32,System.DateTime)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHDateTimeNullValueMin">
+            <summary>
+            Test class used to test NULL translation for DateTime fields using MinValue (the default).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMin.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMin.#ctor(System.Int32,System.DateTime,System.DateTime)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMin.#ctor(System.DateTime,System.DateTime)">
+            <summary>
+            Construct a new instance.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHDateTimeNullValueMax">
+            <summary>
+            Test class used to test NULL translation for DateTime fields using MaxValue.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMax.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMax.#ctor(System.Int32,System.DateTime,System.DateTime)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHDateTimeNullValueMax.#ctor(System.DateTime,System.DateTime)">
+            <summary>
+            Construct a new instance.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PHEnum">
+            <summary>
+            This type is used to test for handling enums as strings.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHEnum.#ctor">
+            <summary>
+            Construct a new instance (no database record).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHEnum.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PHEnum.#ctor(System.Int32,System.DayOfWeek,System.DayOfWeek,System.DayOfWeek)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PHEnum.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.PropertyHolder">
+            <summary>
+            This is a business object decorated with lots of properties of varying types.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Tests.PropertyHolder.NEW_ID">
+            <summary>
+            Id assignment for a new object. If this is used to create the PropertyHolder 
+            object then a refresh will not be performed.
+            0 must be used if the database is to assign a new identity on insert.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PropertyHolder.#ctor">
+            <summary>
+            Construct a new instance (no database record).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PropertyHolder.Retrieve(System.Int32)">
+            <summary>
+            Construct an instance for an existing database record.
+            </summary>
+            <param name="id">The id of the list</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.PropertyHolder.#ctor(System.Int32,System.String,System.Int32,System.Int64,System.Decimal,System.Double,System.Boolean,System.DateTime,System.DateTime,System.String,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            Construct an instance for an existing database record (all fields specified).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PropertyHolder.ViewAll">
+            <summary>
+            Construct a DataView of all PropertyHolder instances for use in a UI component.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Tests.PropertyHolder.ListAll">
+            <summary>
+            Example list retrieval of all objects (no constraints applied).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.ReservedWords">
+            <summary>
+            Class to test out reserved words handling. Because reserved words are provider 
+            specific, these tests are only executed with SQL Server.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.ReservedWords.#ctor(System.Int32,System.String,System.Int32,System.String,System.String)">
+            <summary>
+            Default Constructor
+            </summary>
+            <param name="identity"></param>
+            <param name="order"></param>
+            <param name="value"></param>
+            <param name="of"></param>
+            <param name="group"></param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.ReservedWords.Retrieve(System.Int32)">
+            <summary>
+            Retrieve using the tables identity field
+            </summary>
+            <param name="identity"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Tests.ReservedWords.Retrieve(System.String)">
+            <summary>
+            Retrieve using the tables Group field
+            </summary>
+            <param name="group"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Gentle.Framework.Tests.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Framework.Tests"/> namespace contains example business objects using
+            the framework as well as NUnit test cases for exercising much of the functionality provided.
+            </summary>
+            <remarks>
+            The most extensive and illustrative example of a business object using the framework is the 
+            <see cref="T:Gentle.Framework.Tests.MailingList"/> class. Usage of the <see cref="T:Gentle.Framework.Tests.MailingList"/> class can be seen in 
+            <see cref="T:Gentle.Framework.Tests.TestList"/>, which contains methods to exercise the framework in a various ways. 
+            Study of the two source files should be enough to show you how to use the framework in your 
+            own projects.	
+            </remarks>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestCache">
+            <summary>
+            This class tests various aspects of the built-in object caching 
+            and uniqing functionality.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestConstraint">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MailingList and Member classes. The database must have been created and
+            populated with the supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestGreaterThanOrEqualsConstraint">
+            <summary>
+            Verify the GreaterThanOrEquals constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestLessThanConstraint">
+            <summary>
+            Verify the LessThan constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestRangeConstraint">
+            <summary>
+            Verify range of constraints.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConstraint.TestRangeConstraintCustom">
+            <summary>
+            Verify range of constraints using a custom clause.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestDateTimeNullValue">
+            <summary>
+            Summary description for TestDateTimeNullValue.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestGuidHolder">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestGuidHolder.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestGuidHolderIP">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            GuidHolderIP class. The purpose of these tests is to ensure that Gentle can
+            work with objects implementing IPersistent (rather than inheriting from the
+            Persistent base class).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestGuidHolderIP.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestList">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MailingList and Member classes. The database must have been created and
+            populated with the supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.CRUD(System.Int32)">
+            <summary>
+            Repeat the TestCRUD test case any number of times.
+            </summary>
+            <param name="loopFactor">The number of times to repeat the test</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCRUD_X">
+            <summary>
+            Simple method for looping the CRUD test case. While it is disabled in itself, the
+            thread safety tests depend on it being here.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestTypeInstanceRetrieval">
+            <summary>
+            Verify that selecting a list of a given type produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestTypeListRetrieval">
+            <summary>
+            Verify that selecting a list of a given type produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestRowLimitRetrieval">
+            <summary>
+            Verify that selecting a list can be constrained to return a maximum number of rows. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestPaging">
+            <summary>
+            Verify that paging using SqlResult.Next/Previous works.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestOrderByRetrieval">
+            <summary>
+            Verify that element ordering works when selecting multiple rows.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestOtherTypeListRetrieval">
+            <summary>
+            Verify that foreign keys can be resolved and used to select a list of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCustomListUsingLikeConstraint">
+            <summary>
+            Verify the Operator.Like constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestAnalyzerWithView_ColumnTypeInformation">
+            <summary>
+            Verify that the analyzer also works with views.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestCustomListUsingInConstraint">
+            <summary>
+            Verify the Operator.In constraint.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestObjectViewGeneration">
+            <summary>
+            Test automatic DataView generation using objects as data source.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestList.TestSqlResultViewGeneration">
+            <summary>
+            Test automatic DataView generation using an SqlResult as data source.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMember">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMember.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMember.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMember.TestForeignKeyTranslation">
+            <summary>
+            Verify that foreign key translation works when columns do no use same name in
+            both tables.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberCC">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MemberCC class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            The MemberCC class is like the Member class with added concurrency control.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestConcurrencyControlValue">
+            <summary>
+            Verify that concurrency control updates the database version.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestGentleListWithConcurrency">
+            <summary>
+            Verify that GentleList works when concurrency control is enabled.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCC.TestConcurrencyControlError">
+            <summary>
+            Verify that concurrency control prevents updates using old data.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberCCSD">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MemberCCSD class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            The MemberCCSD class is like the Member class with added concurrency control
+            and soft deletion.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestConcurrencyControlValue">
+            <summary>
+            Verify that concurrency control updates the database version.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberCCSD.TestConcurrencyControlError">
+            <summary>
+            Verify that concurrency control prevents updates using old data.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberPicture">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberPicture.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMemberSD">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MemberSD class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            The MemberSD class is like the Member class with added soft deletion.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberSD.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMemberSD.TestCount">
+            <summary>
+            Verify that the StatementType.Count produces correct results.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestMultiType">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            Member class. The database must have been created and populated with the 
+            supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestCRUD_Dog">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestCRUD_Cat">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 5 statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestTypeFieldOnPersist">
+            <summary>
+            Test case for verifying that the current object type is correctly written to
+            the inheritance column.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestStringToType">
+            <summary>
+            Test case for verifying that we can convert strings to types. Note that in
+            ObjectFactory we need to load the assembly first.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestTypeOverride">
+            <summary>
+            Test case for verifying that the current object type is correctly written to
+            the inheritance column.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestMultiType.TestTypeFilter">
+            <summary>
+            Test case for verifying that the current object type is correctly written to
+            the inheritance column.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestPerformance">
+            <summary>
+            This class holds test cases for exercising the Gentle framework using the 
+            MailingList and Member classes. The database must have been created and
+            populated with the supplied test data for the tests to work.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPerformance.CRUD(System.Int32)">
+            <summary>
+            Repeat the TestCRUD test case any number of times.
+            </summary>
+            <param name="loopFactor">The number of times to repeat the test</param>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPerformance.TestCRUD">
+            <summary>
+            Test case for verifying the four basic statement types (CRUD for Create, Read, Update, 
+            Delete). This method executes 6 statements (of which the last select returns no data).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPropertyHolder.TestCRUD_X">
+            <summary>
+            Simple method for looping the CRUD test case (for performance measurement).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPropertyHolder.TestIdFieldNotSame">
+            <summary>
+            Test that a database field with a name different than the object property is 
+            correctly found. For instance a table "MyTable" with the primary key of MyTable_Id
+            will be able to populate a property identified by MyObject.Id.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestPropertyHolder.TestColumnInMultipleConstraints">
+            <summary>
+            Test that a database field can be used multiple times in constraints.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestProvider">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.ExecuteTestUnnamedParameterOrder(System.String)">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestUnnamedParameterOrderJet">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestUnnamedParameterOrderSybase">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestManualProviderCreation">
+            <summary>
+            Verify parameter order when using unnamed parameters
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestProvider.TestCustomListUsingInConstraint">
+            <summary>
+            Verify the Operator.In constraint.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestReservedWords">
+            <summary>
+            Test editing of a table that uses reserved words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestReservedWords.CleanUp">
+            <summary>
+            Clean up table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestReservedWords.TestCRUD">
+            <summary>
+            Test the standard CRUD operations.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestReservedWords.TestSelectNonIdentity">
+            <summary>
+            Test select using non-identity criteria.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSerializable">
+            <summary>
+            This class holds test cases that test for serialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSerializable.TestSerialize">
+            <summary>
+            Test that the <see cref="T:Gentle.Framework.Persistent"/> object can be serialized using the 
+            <see cref="T:System.Xml.Serialization.XmlSerializer"/> class.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactorySQLServer">
+            <summary>
+            Test cases for the SQL Server rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactorySQLServer.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactorySQLServer.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryFirebird">
+            <summary>
+            Test cases for the Firebird rdbms engine.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryJet">
+            <summary>
+            Test cases for the MS Access (Jet) rdbms engine.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryPostgreSQL">
+            <summary>
+            Test cases for the PostgreSQL rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryPostgreSQL.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryPostgreSQL.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryMySQL">
+            <summary>
+            Test cases for the MySQL rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryMySQL.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryMySQL.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactoryOracle">
+            <summary>
+            Test cases for the Oracle rdbms engine.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryOracle.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactoryOracle.SqlFactoryOutput">
+            <summary>
+            Test case for verifying rdbms-specific SqlFactory output.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestSqlFactory">
+            <summary>
+            Test cases for verifying the syntax of generated sql statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.SqlFactoryOutput">
+            <summary>
+            Abstract test case definition required by the Mono TestRunner program.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Select">
+            <summary>
+            Test case for verifying the syntax of generated select statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Count">
+            <summary>
+            Test case for verifying the syntax of generated row count select statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.SelectList">
+            <summary>
+            Test case for verifying the syntax of generated select without constraint statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Insert">
+            <summary>
+            Test case for verifying the syntax of generated insert statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Update">
+            <summary>
+            Test case for verifying the syntax of generated update statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestSqlFactory.Delete">
+            <summary>
+            Test case for verifying the syntax of generated delete statements.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestThreadSafety">
+            <summary>
+            This class holds test cases that test for thread safety.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestThreadSafety.Init">
+            <summary>
+            Test case initialization.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestThreadSafety.TestThreadedCRUD">
+            <summary>
+            Test threaded access to the framework. 
+            Note: this test does not really prove anything (including thread safety).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestValidation">
+            <summary>
+            This class holds test cases for exercising the Gentle framework RegexValidation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRegexGoodData">
+            <summary>
+            Test that the regex validator allows good data to pass validation
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRegexBad">
+            <summary>
+            Test that the regex validator catches `bad` data.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRequiredGood">
+            <summary>
+            Test that a required field with data passes validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRequiredBad">
+            <summary>
+            Test that a required field without data fails validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestValidation.TestRequiredBadButAllowNull">
+            <summary>
+            Test that a required field without data fails validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestConfigFileAccess.AccessTest">
+            <summary>
+            Test case for verifying access to the configuration file and required keys in it.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestCases.TestFirebirdFactory">
+            <summary>
+            This class tests <see cref="T:Gentle.Provider.Firebird.FirebirdFactory"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestCases.TestFirebirdFactory.TestReservedWord">
+            <summary>
+            This test case tests <c>IsReservedWord</c> method.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestCases.TestFirebirdFactory.TestQuoteReservedWord">
+            <summary>
+            This test case tests <c>QuoteReservedWord</c> method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestObjectMap">
+            <summary>
+            Summary description for ObjectMapTest.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestObjectMap.TestMapConstruction">
+            <summary>
+            Test case to verify the correct parsing of attributes and construction of the
+            internally used ObjectMap instances.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestObjectMap.TestAnalyzerDataOverride">
+            <summary>
+            Test case for verifying that column information (type, field size, constraints) 
+            read from the database overrides the values specified using attributes.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestProviderFactory">
+            <summary>
+            Summary description for TestProviderFactory.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.TestReflector">
+            <summary>
+            Test cases for the Reflector helper class.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.Role">
+            <summary>
+            This class exists for the purpose of testing automatic management of n:m
+            relationships, graph operations (i.e. recursive processing of objects and
+            all properties on it), and reserved word handling.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.Role.#ctor(Gentle.Framework.Tests.Roles)">
+            <summary>
+            Construct instance representing the given Roles enumeration value.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.Role.#ctor(System.Int32,System.String)">
+            <summary>
+            Construct instance from existing data. This is the constructor invoked by 
+            Gentle when creating new Role instances from result sets.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.TestCRUD">
+            <summary>
+            Test case for verifying basic type IO using Gentle-generated SQL. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.Test_NtoM">
+            <summary>
+            This test case verifies the automatic management of both the relation and the 
+            related objects, i.e. when you add a Role object it is persisted along with an
+            entry in the UserRole table, and vice versa when Role objects are removed.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.Test_NtoM_WithExtraRelationColumn">
+            <summary>
+            This test case extends the N:M test above by also storing an additional
+            value in the relation table (a reference to a Member instance).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.TestUser.Test_AutoRead">
+            <summary>
+            This test case verifies the automatic retrieval of objects during list instantiation.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Tests.User">
+            <summary>
+            This class exists for the purpose of testing automatic management of n:m
+            relationships, graph operations (i.e. recursive processing of objects and
+            all properties on it), and reserved word handling.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Tests.User.#ctor(System.Int32,System.String,System.String,Gentle.Framework.Tests.Roles)">
+            <summary>
+            Construct instance from existing data. This is the constructor invoked by 
+            Gentle when creating new User instances from result sets.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/PostBuild.bat b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/PostBuild.bat
index 58d5428..a5afe0c 100644
--- a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/PostBuild.bat
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/PostBuild.bat
@@ -4,9 +4,20 @@ REM %3 = Target directory
 
 if "%1" == "Debug" GOTO :Skip
 
-xcopy /Y "%2Gentle.Common.dll" "%3"
-xcopy /Y "%2Gentle.Framework.dll" "%3"
-xcopy /Y "%2Gentle.Provider.MySQL.dll" "%3"
-xcopy /Y "%2Gentle.Provider.SQLServer.dll" "%3"
+xcopy /Y "%~2Gentle.Common.dll" "%~3"
+xcopy /Y "%~2Gentle.Framework.dll" "%~3"
+xcopy /Y "%~2Gentle.Provider.MySQL.dll" "%~3"
+xcopy /Y "%~2MySQL.Data.dll" "%~3"
+xcopy /Y "%~2Gentle.Provider.SQLServer.dll" "%~3"
+
+xcopy /Y "%~2Gentle.Provider.SQLite.dll" "%~3"
+xcopy /Y "%~2System.Data.SQLite.dll" "%~3"
+xcopy /Y "%~2..\..\Source\Gentle.Provider.SQLite\bin\Release\x86\SQLite.Interop.dll" "%~3\x86\"
+xcopy /Y "%~2..\..\Source\Gentle.Provider.SQLite\bin\Release\x64\SQLite.Interop.dll" "%~3\x64\"
+
+xcopy /Y "%~2Gentle.Provider.Firebird.dll" "%~3"
+xcopy /Y "%~2FirebirdSql.Data.FirebirdClient.dll" "%~3"
+
+xcopy /Y "%~2log4net.dll" "%~3"
 
 :Skip
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/app.config b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/app.config
new file mode 100644
index 0000000..42f94f7
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework.Tests/app.config
@@ -0,0 +1,11 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.48.0" newVersion="1.0.48.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>
\ No newline at end of file
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework/Gentle.Framework.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework/Gentle.Framework.xml
new file mode 100644
index 0000000..8d3ab02
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Framework/Gentle.Framework.xml
@@ -0,0 +1,5215 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Framework</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Framework.ConcurrencyAttribute">
+            <summary>
+            <p>Use this attribute to designate the property holding the row version integer used
+            for concurrency control. Updates (for objects under concurrency control) will only
+            succeed if the version of the row being updated matches the objects version.</p> 
+            <p>Support for concurrency control using DateTime values is not supported.</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.CustomViewAttribute">
+            <summary>
+            <p>Use this attribute to designate properties to include in the named DataView. Use
+            the <see cref="T:Gentle.Framework.ObjectView"/> class to construct the named DataView given a list
+            of objects or to update object values using data found in an existing DataView.</p>
+            <p>This is a convenient method for using standard UI components to show and edit 
+            business objects.</p>
+            <p>Separate views (by grouping attributes belonging to the same view) using the view
+            name. A single property can be in any number of views, but only once in every view.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.String,System.Int32,System.String,System.String)">
+            <summary>
+            Mark this member as a DataView column in the specified view. 
+            </summary>
+            <param name="viewName">The name of this custom view</param>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+            <param name="formatString">The format string used for formatting data</param>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.Int32,System.String,System.String)">
+            <summary>
+            Mark this member as a DataView column in the default view (named "default").
+            </summary>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+            <param name="formatString">The format string used for formatting data</param>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.String,System.Int32,System.String)">
+            <summary>
+            Mark this member as a DataView column in the specified view. 
+            </summary>
+            <param name="viewName">The name of this custom view</param>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+        </member>
+        <member name="M:Gentle.Framework.CustomViewAttribute.#ctor(System.Int32,System.String)">
+            <summary>
+            Mark this member as a DataView column in the default view (named "default").
+            </summary>
+            <param name="columnIndex">The 0-based index of this column</param>
+            <param name="columnName">The name of the column</param>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ViewName">
+            <summary>
+            The name of the view to which this attribute belongs.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ColumnIndex">
+            <summary>
+            The index of the column in the view. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ColumnName">
+            <summary>
+            The name of the column in the view.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.FormatString">
+            <summary>
+            The name of the database column for storing the property decorated with this attribute.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.ClickAction">
+            <summary>
+            Currently unused. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.NavigateUrlFormat">
+            <summary>
+            If specified the string will be used to render hyperlink columns (only when using the
+            ObjectView.PopulateDataGrid method). The primary key will be inserted in place of {0}
+            in the specified format string. This is only useable with Gentle supported classes.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.CustomViewAttribute.Style">
+            <summary>
+            If specified and valid, the column in the DataView will be rendered in the specified
+            style. Possible values are "none" (the default), "hyperlink" and "button".
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ForeignKeyAttribute">
+            <summary>
+            Use this attribute to mark properties referencing data in a remote table. It is
+            used by the framework to map property (and the corresponding column) names of one
+            object to other objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ForeignKeyAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Construct a new ForeignKey attribute. This will relate the decorated property
+            to the specified column in the given table.
+            </summary>
+            <param name="foreignTable">The table to relate to</param>
+            <param name="foreignColumn">The column to relate to</param>
+        </member>
+        <member name="M:Gentle.Framework.ForeignKeyAttribute.#ctor(System.String)">
+            <summary>
+            Construct a new ForeignKey attribute. This will relate the decorated property
+            to the specified column in the given table.
+            </summary>
+            <param name="foreignReference">The table and column to relate to (formatted as "table.column").</param>
+        </member>
+        <member name="P:Gentle.Framework.ForeignKeyAttribute.ForeignTable">
+            <summary>
+            The table to which this instance relates.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ForeignKeyAttribute.ForeignColumn">
+            <summary>
+            The column to which this instance relates.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.InheritanceAttribute">
+            <summary>
+            Use this attribute when mapping either multiple types to one table or one type
+            to multiple tables (this latter is not yet supported). 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.PrimaryKeyAttribute">
+            <summary>
+            Use this attribute to designate properties that are primary key columns. This
+            attribute must be present in addition to the <see cref="T:Gentle.Framework.TableColumnAttribute"/> 
+            attribute on all key properties.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.PrimaryKeyAttribute.AutoGenerated">
+            <summary>
+            Set this property to true for primary keys that are automatically assigned
+            by the database on insert (identity columns in SQL server terminology). 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.SequenceNameAttribute">
+            <summary>
+            Use this attribute to name the sequence used for auto-generated columns. Gentle
+            will use this sequence name when it is unable to obtain the information from
+            the database automatically. This is the case for a.o. Firebird. If this attribute
+            is not present, Gentle attempts to guess the sequence name from certain name
+            conventions (for details, consult the SqlFactory class for the provider).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SequenceNameAttribute.#ctor(System.String)">
+            <summary>
+            Construct a new SequenceName attribute. 
+            </summary>
+            <param name="sequenceName">The table to relate to</param>
+        </member>
+        <member name="P:Gentle.Framework.SequenceNameAttribute.Name">
+            <summary>
+            The name of the sequence used by an auto-generated column.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.SoftDeleteAttribute">
+            <summary>
+            <p>Use this attribute to designate the property holding the row version integer used
+            for concurrency control. Updates (for objects under concurrency control) will only
+            succeed if the version of the row being updated matches the objects version.</p> 
+            <p>Support for concurrency control using DateTime values is not supported.</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TableColumnAttribute">
+            <summary>
+            Use this attribute to identify the properties of <see cref="T:Gentle.Framework.Persistent"/> objects that map 
+            to table columns. If no map name is supplied the column and property name must be identical
+            (case differences are ignored). This attribute can also be used to override constraints,
+            such as to allow NULL values (defaults to false).
+            Note that metadata obtained directly from the database overrides anything (but the name)
+            specified as parameters to this attribute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor">
+            <summary>
+            Constructor for table columns that are named after their property counterpart
+            and whose value cannot be null.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor(System.Boolean)">
+            <summary>
+            Constructor for table columns that are named after their property counterpart.
+            </summary>
+            <param name="notNull">A boolean telling whether null values are allowed in the database</param>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor(System.String)">
+            <summary>
+            Constructor for table columns whose value cannot be null.
+            </summary>
+            <param name="name">The name of the database column</param>
+        </member>
+        <member name="M:Gentle.Framework.TableColumnAttribute.#ctor(System.String,System.Boolean)">
+            <summary>
+            Constructor for table columns.
+            </summary>
+            <param name="name">The name of the database column</param>
+            <param name="notNull">A boolean telling whether null values are allowed in the database</param>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.Name">
+            <summary>
+            The name of the database column for storing the property decorated with this attribute.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NotNull">
+            <summary>
+            This property (defaults to true) can be used to specify whether NULL values are
+            allowed in the database. This allows the framework to fail early if a constraint
+            is violated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.DbType">
+            <summary>
+            The database type of the field in the database. Beware that the DbType enumeration
+            values are NOT the ones used by the individual providers. Gentle does NOT convert
+            the DbType to a "best match" for the provider. It is therefore recommended that 
+            you use the DatabaseType below until a better type definition system is available.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.DatabaseType">
+            <summary>
+            The database type of the field in the database. Convert the actual database type
+            enumeration to a long by casting it in the declaration.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.Size">
+            <summary>
+            The size or length of the field in the database. String properties will be clipped
+            to fit.
+            This feature will obsoleted once Gentle is capable of extracting type and size 
+            information directly from the database. If specified, the values must match
+            those extracted from the database (when implemented).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.HasDbType">
+            <summary>
+            This property indicates whether a DbType was specified. This construct is necessary
+            because the DbType enum has no value for undefined.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.MagicValue">
+            <summary>
+            Obsolete, use NullValue instead.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NullValue">
+            <summary>
+            This value of this property is used when a column is NotNull and the property value
+            is null.  If this is undefined the framework will throw an error for NotNull columns
+            whose values are null.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NullValue_int">
+            <summary>
+            This property allows type-safe setting of the NullValue for VB users.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.NullValue_opt">
+            <summary>
+            This property allows type-safe setting of the NullValue for VB users.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.IsReadOnly">
+            <summary>
+            This value indicates that the column should not be set on insert and update. It is
+            primarily useful for columns that are set internally by the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.IsUpdateAfterWrite">
+            <summary>
+            This value indicates that the column must be read after each insert and update. It is
+            primarily useful for columns that are set internally by the database. Note that using
+            this feature (by setting this to true for any column) will significantly impact 
+            performance for the worse, as for every update/insert another select will be 
+            performed. Also, fields will be updated using reflection after select, which is also
+            quite slow (depending on the number of columns).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableColumnAttribute.HandleEnumAsString">
+            <summary>
+            If member which has this attribute attached is enum then this property
+            indicates wheter framework saves it as string or as integer.
+            Default is false, ie enums are saved as integers
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TableNameAttribute">
+            <summary>
+            Use this attribute on classes that should be persistable. Only classes decorated
+            with this attribute are supported by the persistence framework.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableNameAttribute.#ctor(System.String)">
+            <summary>
+            The constructor for the TableName attribute.
+            </summary>
+            <param name="name">The name of the database table used to store instances of this class.</param>
+        </member>
+        <member name="M:Gentle.Framework.TableNameAttribute.#ctor(System.String,Gentle.Common.CacheStrategy)">
+            <summary>
+            The constructor for the TableName attribute.
+            </summary>
+            <param name="name">The name of the database table used to store instances of this class.</param>
+            <param name="strategy">The cache stratgey to use for instances of this type. <see 
+            cref="P:Gentle.Framework.TableNameAttribute.CacheStrategy"/> for a list of available options.</param>
+        </member>
+        <member name="P:Gentle.Framework.TableNameAttribute.Name">
+            <summary>
+            The name of the database table used to store instances of this class.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableNameAttribute.Schema">
+            <summary>
+            The optional schema name with which to prefix the table name in queries.
+            This value overrides the default schema definition (if present) in the
+            configuration file. Note: this property is currently unused. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableNameAttribute.CacheStrategy">
+            <summary>
+            The cache behavior for objects of this type. <see cref="P:Gentle.Framework.TableNameAttribute.CacheStrategy"/> 
+            for a list of available options.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Broker">
+            <summary>
+            This class is one of the main access point into the persistence framework. It exists
+            to complement the PersistenceBroker class, which you should use if you want to access
+            multiple databases or use multiple providers in a single project.
+            </summary>
+            <remarks>
+            The broker is a simple proxy class that interacts with the default database provider
+            through an instance of the PersistenceBroker class. This is convenient when you're only
+            using a single database (and implied only a single provider) in your project.
+            </remarks>
+        </member>
+        <member name="M:Gentle.Framework.Broker.ClearPersistenceBroker">
+            <summary>
+            Clear the current PersistenceBroker instance used by the Broker class. This is
+            useful if you have changed the Config.DefaultProvider setting.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Broker.ProviderName">
+            <summary>
+            Returns the class name of the current database engine.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Broker.SessionBroker">
+            <summary>
+            Returns the PersistenceBroker instance used by this thread.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Broker.Provider">
+            <summary>
+            Return the currently used IGentleProvider instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetStatement(System.String)">
+            <summary>
+            Get a new SqlStatement instance for fully specified queries.
+            </summary>
+            <param name="sql">The entire SQL string to use for this statement. The statement
+            type is determined from the SQL string. If the type cannot be determined the query 
+            is executed using ExecuteNonQuery.</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetStatement(Gentle.Framework.StatementType,System.String)">
+            <summary>
+            Get a new SqlStatement instance for fully specified queries.
+            </summary>
+            <param name="sql">The entire SQL string to use for this statement</param>
+            <param name="stmtType">The statement type. Select statements are executed using
+            ExecuteReader. Insert, Update and Delete are executed using ExecuteNonQuery. 
+            Count is executed using ExecuteScalar.</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetSqlFactory">
+            <summary>
+            Get a new GentleSqlFactory instance for the current database engine. The SqlFactory
+            encapsulates database specific differences and allows the <see cref="T:Gentle.Framework.SqlBuilder"/> 
+            to generate queries compatible with the current engine.
+            </summary>
+            <returns>An ISqlFactory implementation instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetNewConnection">
+            <summary>
+            Get a new database connection from the current persistence engine. Remember to
+            close and release the connection when done with it.
+            </summary>
+            <returns>A new IDbConnection instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve data for the specified type. Throws an exception for unsupported types.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Refresh(System.Object)">
+            <summary>
+            Refresh the properties of the given object with the values from the
+            database. This is essentially a Retrieve operation, but instead of
+            returning a new object, the existing is updated. This allows it to be
+            used within constructors.
+            Throws an exception for unsupported types.
+            </summary>
+            <param name="obj">The object instance to update</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.Broker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <param name="type">The type of object to retrieve</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.Broker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <param name="type">The type of object to create</param>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.TryRetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type,System.Collections.IList)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="key">The key containing any constraints</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key containing any constraints</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Persist(Gentle.Framework.IEntity)">
+            <summary>
+            Persist (insert or update) an object. 
+            Updates the Id property of AutoPersistent objects on insert.
+            </summary>
+            <param name="entity">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Insert(System.Object)">
+            <summary>
+            Insert an object. This updates the identity property of objects with
+            autogenerated primary keys.
+            </summary>
+            <param name="obj">The object to insert</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Update(System.Object)">
+            <summary>
+            Update an existing object.
+            </summary>
+            <param name="obj">The object to update</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Remove(System.Object)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="obj">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Remove(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Remove``1(Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(System.String)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(System.String,System.Data.IDbConnection)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(System.String,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbConnection)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Broker.RegisterStatement(System.String,Gentle.Framework.SqlStatement)">
+            <summary>
+            Associate an SqlStatement with a system type (must be a descendant of Persistent).
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <param name="stmt">The SQL statement object</param>
+        </member>
+        <member name="M:Gentle.Framework.Broker.GetRegisteredStatement(System.String)">
+            <summary>
+            Retrieve a previously registered SqlStatement.
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <returns>The previously registered SQL statement (if any)</returns>
+        </member>
+        <member name="T:Gentle.Framework.ContextPersistent">
+            <summary>
+            <p>This class is currently work in progress and is not intended for general consumption.</p>
+            <p>This class is intended as an alternate base class for new persistent business objects.
+            By inheriting from <see cref="T:System.ContextBoundObject"/> it is possible to automatically flag
+            the object instance as dirty when persistent properties are modified, support lazy loading,
+            perform parameter validation and code assertions. The downside to all of this is a heavy
+            performance cost.</p>
+            <p>This class is also intended as an example of how you can create your own base class
+            for persistent objects. It is currently work-in-progress.</p>
+            <p>As much of the IPersistent interface as possible should be provided by this class.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.#ctor">
+            <summary>
+            Use this constructor for new (unpersisted) instances.
+            The default provider will be used to access the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.#ctor(System.Int32,System.Boolean,Gentle.Framework.PersistenceBroker)">
+            <summary>
+            This is the generic base constructor will a full argument set.
+            </summary>
+            <param name="version">The version of this record in the database or 0 for new instances.</param>
+            <param name="isPersisted">A boolean to indicate whether this object has been persisted.</param>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+        </member>
+        <member name="P:Gentle.Framework.ContextPersistent.IsPersisted">
+            <summary>
+            True if this object instance has been persisted to the database. Updates to
+            properties of this instance since does not change the value of this property,
+            whose sole purpose is to determine if the object needs to be inserted or updated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ContextPersistent.ValidationMessages">
+            <summary>
+            Validation messages reported by the validation framework.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.GetKey">
+            <summary>
+            Abstract method for subclasses to implement. It should return a <see cref="T:Gentle.Framework.Key"/> 
+            instance containing all the primary key properties of this object.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Persist">
+            <summary>
+            Persist the current instance to the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Persist the current instance to the database as part of the given transaction.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Remove">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Remove(Gentle.Framework.Transaction)">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Refresh">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Refresh(Gentle.Framework.Transaction)">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key.
+            </summary>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.Retrieve(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key. This method will
+            throw an exception if not exactly one row in the database matches.
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance of the specified type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.RetrieveList(System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.RetrieveList(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ContextPersistent.RetrieveList(System.Type,System.String[])">
+            <summary>
+            Retrieve a list of objects of the given type constrained by the properties of
+            this object instance.
+            </summary>
+            <param name="type">The type of objects being retrieved</param>
+            <param name="propertyNames">A list of property names on the current object</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="P:Gentle.Framework.ContextPersistent.SessionBroker">
+            <summary>
+            The session broker provides a lock to the database engine. This is
+            useful when connecting to multiple databases in a single application.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleBase">
+            <summary>
+            This class is an extension of the Persistent class providing an integer primary key
+            field and concurrency control. You may inherit from this class if this is suitable,
+            and otherwise use it as inspiration for your own base class. The database columns
+            must be named "Id" and "DatabaseVersion" respectively, if you are to use this class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleBase.#ctor">
+            <summary>
+            This is the default constructor for new (unpersisted) instances.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleBase.#ctor(System.Int32)">
+            <summary>
+            This is the default constructor for existing (persisted) instances. The created
+            object instance is refreshed using data read from the database. Note: using this
+            method is considerably slower than using a full constructor. If performance is
+            important you should add a static Retrieve method to your subclass and use it in
+            place of this for fetching objects (or call the Broker directly).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleBase.#ctor(System.Int32,System.Int32)">
+            <summary>
+            This is the generic base constructor will a full argument set.
+            </summary>
+            <param name="id">The primary key identity value of this instance.</param>
+            <param name="version">The version of this record in the database or 0 for new instances.</param>
+        </member>
+        <member name="P:Gentle.Framework.GentleBase.DatabaseVersion">
+            <summary>
+            This property provides concurrency control when globally enabled, as defined by the
+            value of the configiguration key "Gentle.Framework/Options/ConcurrencyControl". 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleBase.Id">
+            <summary>
+            The primary key field. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleList">
+            <summary>
+            This is a container class for managed storage of objects. Work in progress.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(System.Type)">
+            <summary>
+            Use this constructor to create lists of persistent objects that are not related to 
+            a parent object. This class automatically calls Persist() and Remove() on objects 
+            when they are added or removed from the list.
+            </summary>
+            <param name="containedType">The type of objects to store. The given type must be a 
+            descendant of the Persistent class or implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(System.Type,Gentle.Framework.IPersistent)">
+            <summary>
+            Use this constructor to create lists that represent 1:n relations. The relations between
+            the contained objects and the parent instance are automatically maintained. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list.
+            </summary>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(System.Type,Gentle.Framework.IPersistent,System.Type,System.Type[])">
+            <summary>
+            Use this constructor to create lists that represent n:m relations. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list. Additionally, the relation objects linking the parent and the contained 
+            objects are automatically created and destroyed as objects are added or removed from 
+            the list, thus making the n:m relationship transparent to clients.
+            </summary>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="viaType">The type of objects used to represent the n:m relationship.</param>
+            <param name="relationTypes">Additional types from which to extract information when 
+            creating relations. This is only used in n:m scenarios and permits you to have
+            relation tables with more than just two columns. The PK is extracted from the
+            specified types (so you cannot use any member; only PKs can be stored).</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Use this constructor to create lists of persistent objects that are not related to 
+            a parent object. This class automatically calls Persist() and Remove() on objects 
+            when they are added or removed from the list.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+            <param name="containedType">The type of objects to store. The given type must be a 
+            descendant of the Persistent class or implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.IPersistent)">
+            <summary>
+            Use this constructor to create lists that represent 1:n relations. The relations between
+            the contained objects and the parent instance are automatically maintained. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.#ctor(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.IPersistent,System.Type,System.Type[])">
+            <summary>
+            Use this constructor to create lists that represent n:m relations. This class
+            automatically calls Persist() and Remove() on objects when they are added or removed
+            from the list. Additionally, the relation objects linking the parent and the contained 
+            objects are automatically created and destroyed as objects are added or removed from 
+            the list, thus making the n:m relationship transparent to clients.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+            <param name="containedType">The type of objects stored in this list instance. The contained 
+            type must be supported by Gentle and implement the IPersistent interface.</param>
+            <param name="parent">The parent of the contained objects. A parent is required for
+            managing 1:n and n:m relations.</param>
+            <param name="viaType">The type of objects used to represent the n:m relationship.</param>
+            <param name="relationTypes">Additional types from which to extract information when 
+            creating relations. This is only used in n:m scenarios and permits you to have
+            relation tables with more than just two columns. The PK is extracted from the
+            specified types (so you cannot use any member; only PKs can be stored).</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Find(Gentle.Framework.Key)">
+            <summary>
+            Search the list of contained objects for an entry whose key matches the given key. The
+            first match is returned or null if no match was found.
+            </summary>
+            <param name="key">The key identifying the object to retrieve.</param>
+            <returns>The first object matching the key.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Add(System.Object)">
+            <summary>
+            Add an object to the list. For 1:n relations, any references on the object being added
+            to the parent of the list will be updated to match the parents current values, and the 
+            object will be inserted if it is a new one. For n:m relations, a new relation object is
+            created and inserted (the object itself is never persisted).
+            </summary>
+            <param name="value">The object to add to the list</param>
+            <returns>The index of the newly added object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Add(System.Object,System.Object[])">
+            <summary>
+            Add an object to the list. For 1:n relations, any references on the object being added
+            to the parent of the list will be updated to match the parents current values, and the 
+            object will be inserted if it is a new one. For n:m relations, a new relation object is
+            created and inserted (the object itself is never persisted).
+            </summary>
+            <param name="value">The object to add to the list</param>
+            <param name="relatedObjects">A list of values to use when creating the n:m relation 
+            object.</param>
+            <returns>The index of the newly added object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Add(Gentle.Framework.Transaction,System.Object,System.Object[])">
+            <summary>
+            Add an object to the list. For 1:n relations, any references on the object being added
+            to the parent of the list will be updated to match the parents current values, and the 
+            object will be inserted if it is a new one. For n:m relations, a new relation object is
+            created and inserted (the object itself is never persisted).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="value">The object to add to the list</param>
+            <param name="relatedObjects">A list of values to use when creating the n:m relation 
+            object.</param>
+            <returns>The index of the newly added object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.AddRange(System.Collections.ICollection)">
+            <summary>
+            Add a list of objects to the list.
+            </summary>
+            <param name="collection">The collection of objects to add to the list.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Remove(System.Object)">
+            <summary>
+            Remove an object from the list. For 1:n relations, if the object is persisted it will also
+            be removed from the database. For n:m relations, the relation object is removed (the object 
+            being removed is left untouched and must manually be removed if so desired).
+            </summary>
+            <param name="value">The object to remove from the list</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Remove(Gentle.Framework.Transaction,System.Object)">
+            <summary>
+            Remove an object from the list. For 1:n relations, if the object is persisted it will also
+            be removed from the database. For n:m relations, the relation object is removed (the object 
+            being removed is left untouched and must manually be removed if so desired).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="value">The object to remove from the list</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.RemoveAt(System.Int32)">
+            <summary>
+            Remove an object from the list. For 1:n relations, if the object is persisted it will also
+            be removed from the database. For n:m relations, the relation object is removed (the object 
+            being removed is left untouched and must manually be removed if so desired).
+            </summary>
+            <param name="index">The index of the object to remove from the list</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Persist">
+            <summary>
+            Recursively persist all objects in list. This method will do nothing for n:m relations.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleList.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Recursively persist all objects in list. This method will do nothing for n:m relations.
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+        </member>
+        <member name="T:Gentle.Framework.Key">
+            <summary>
+            The Key class is used to encapsulate sets of related key/value pairs, such as
+            statement parameters, primary keys, etc.
+            </summary>
+            <remarks>
+            </remarks>
+        </member>
+        <member name="F:Gentle.Framework.Key.isPropertyKeys">
+            <summary>
+            This value is false when the key contains column names as indexers.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Key.source">
+            <summary>
+            The type from which the key values have been gathered (null if not applicable)
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Key.tableName">
+            <summary>
+            The table name to use for queries made using the current key instance. When
+            this value is null the default table name (from the TableName attribute) is used.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Type,System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Type,System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Boolean)">
+            <summary>
+            Construct a new key instance.
+            </summary>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Type,System.Boolean,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify a single key/value pair to add.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for a value to be added to this key.</param>
+            <param name="value1">The value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Type,System.Boolean,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify a single key/value pair to add.
+            </summary>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for a value to be added to this key.</param>
+            <param name="value1">The value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Boolean,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify a single key/value pair to add.
+            </summary>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for a value to be added to this key.</param>
+            <param name="value1">The value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.String,System.Type,System.Boolean,System.String,System.Object,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify two key/value pairs to add.
+            </summary>
+            <param name="tableName">The name of the table used for queries made with this key</param>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for the first value to be added to this key.</param>
+            <param name="value1">The first value to be added to this key.</param>
+            <param name="name2">The name used as index for the second value to be added to this key.</param>
+            <param name="value2">The second value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Type,System.Boolean,System.String,System.Object,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify two key/value pairs to add.
+            </summary>
+            <param name="source">The type from which the contained key/value pairs originate. This 
+            parameter is required for Gentle to be able to translate foreign keys into the proper
+            column name for the type being selected. If it is null no name translations will take
+            place.</param>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for the first value to be added to this key.</param>
+            <param name="value1">The first value to be added to this key.</param>
+            <param name="name2">The name used as index for the second value to be added to this key.</param>
+            <param name="value2">The second value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.#ctor(System.Boolean,System.String,System.Object,System.String,System.Object)">
+            <summary>
+            Construct a new key instance and specify two key/value pairs to add.
+            </summary>
+            <param name="isPropertyKeys">True if the keys index values are property names, false
+            if they are column names.</param>
+            <param name="name1">The name used as index for the first value to be added to this key.</param>
+            <param name="value1">The first value to be added to this key.</param>
+            <param name="name2">The name used as index for the second value to be added to this key.</param>
+            <param name="value2">The second value to be added to this key.</param>
+        </member>
+        <member name="M:Gentle.Framework.Key.Add(System.String,System.Object)">
+            <summary>
+            Add or update a value stored in the key.
+            </summary>
+            <param name="name">The name of the entry</param>
+            <param name="value">The associated value</param>
+        </member>
+        <member name="P:Gentle.Framework.Key.Item(System.String)">
+            <summary>
+            Default property that allows us to use "key[ keyName ]" to access the keys
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Key.SourceType">
+            <summary>
+            The type from which the key values have been gathered (null if not applicable). If the
+            object type being selected is different from the source type the contained keys are
+            assumed to be foreign keys and translated to the target type before being applied as
+            constraints.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Key.TableName">
+            <summary>
+            Returns the table name associated with this key or null if none has been set. The
+            table name specified on a key overrides the table name specified in the TableName
+            attribute and thus allows dynamic mapping of objects to multiple tables.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Key.IsPrimaryKeyFields(Gentle.Framework.ObjectMap,System.Boolean)">
+            <summary>
+            Returns a boolean value indicating whether the current key instance contains exactly
+            the fields compromising the primary key fields of the given type. This is used to 
+            determine whether a cached statement can be used (non-primary key select statements 
+            are not cached).
+            </summary>
+            <param name="map">The ObjectMap describing a type and its table mapping.</param>
+            <param name="ignoreConcurrencyColumn"></param>
+            <returns>True if the key contains only and exactly the primary key fields of the 
+            given type.</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,Gentle.Framework.Key,System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="members">The names of the properties to include in the key</param>
+            <returns>The key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.Key,System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="members">The names of the properties to include in the key</param>
+            <returns>The key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a new key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="properties">The names of the properties to include in the key</param>
+            <returns>The requested key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(System.Boolean,System.Object,System.String[])">
+            <summary>
+            Obtain a new key for the specified object instance and property names. The returned
+            key will contain the corresponding column names for the type, and thus foreign
+            key columns must use identical naming for this to work.
+            </summary>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <param name="properties">The names of the properties to include in the key</param>
+            <returns>The requested key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,Gentle.Framework.Key,System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.Key,System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="key">An optional existing key to add the values to</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(Gentle.Framework.PersistenceBroker,System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="broker">The optional PersistenceBroker instance to use for obtaining the
+            ObjectMap for the supplied object instance. If this parameter is null, Gentle will try
+            to infer the broker from the object instance. If that fails, it will use the default
+            provider.</param>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetKey(System.Boolean,System.Object)">
+            <summary>
+            Obtain a new key for the specified object instance. The returned key will contain the
+            primary keys of the given instance.
+            </summary>
+            <param name="isPropertyKeys">False is key indexers are column names, true for property names</param>
+            <param name="instance">The object instance whose property values will be used</param>
+            <returns>A key instance containing the primary key values of the given object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.ToString">
+            <summary>
+            Calling this method returns the current key instance as a comma-separated list of key=value 
+            pairs enclosed in a parenthesis.
+            </summary>
+            <returns>The string representation of this key</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.GetHashCode">
+            <summary>
+            Obtain the hashcode of this key instance. This is calculated as the sum of all 
+            hashcodes of all keys and values.
+            </summary>
+            <returns>The hashcode of this Key instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Key.Equals(System.Object)">
+            <summary>
+            Compare this key instance to another object. 
+            </summary>
+            <param name="obj">The object to compare this instance to</param>
+            <returns>True if the object passed is a Key instance with identical hashcode value</returns>
+        </member>
+        <member name="T:Gentle.Framework.Persistent">
+            <summary>
+            <p>This class is intended as a base class for new persistent business objects,
+            in order to save the developer from as much work as possible. 
+            As much of the IPersistent interface as possible should be provided by this class.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.#ctor">
+            <summary>
+            Use this constructor for new (unpersisted) instances.
+            The default provider will be used to access the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.#ctor(System.Boolean)">
+            <summary>
+            Use this constructor for both new and persisted instances. 
+            The default provider will be used to access the database.
+            </summary>
+            <param name="isPersisted">A boolean to indicate whether this object has been persisted.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.#ctor(System.Boolean,Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Use this This is the recommended constructor
+            The supplied PersistenceBroker instance will be used to access the database.
+            </summary>
+            <param name="isPersisted">A boolean to indicate whether this object has been persisted.</param>
+            <param name="broker">The PersistenceBroker to use for connecting to the database.</param>
+        </member>
+        <member name="P:Gentle.Framework.Persistent.IsPersisted">
+            <summary>
+            True if this object instance has been persisted to the database. Updates to
+            properties of this instance since does not change the value of this property,
+            whose sole purpose is to determine if the object needs to be inserted or updated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Persistent.ValidationMessages">
+            <summary>
+            Validation messages reported by the validation framework.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Persistent.CacheKey">
+            <summary>
+            Construct a unique string identifying this instance (for caching purposes).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.GetKey">
+            <summary>
+            Abstract method for subclasses to implement. It should return a <see cref="T:Gentle.Framework.Key"/> 
+            instance containing all the primary key properties of this object.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Persist">
+            <summary>
+            Persist the current instance to the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Persist(Gentle.Framework.Transaction)">
+            <summary>
+            Persist the current instance to the database as part of the given transaction.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Remove">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Remove(Gentle.Framework.Transaction)">
+            <summary>
+            Remove the current instance from the database. 
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Refresh">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Refresh(Gentle.Framework.Transaction)">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+            <param name="transaction">The transaction in which to execute the operation.</param>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key.
+            </summary>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.Retrieve(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve the object of the specified type and identified by the given key. This method will
+            throw an exception if not exactly one row in the database matches.
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance of the specified type</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.RetrieveList(System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.RetrieveList(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Retrieve all objects of a certain type (plain select of all rows in a the
+            table, i.e. a statement without any where-clause).
+            </summary>
+            <param name="broker">The PersistenceBroker and associated provider used fetch the data</param>
+            <param name="type">The type of the Persistent descendant to retrieve</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="M:Gentle.Framework.Persistent.RetrieveList(System.Type,System.String[])">
+            <summary>
+            Retrieve a list of objects of the given type constrained by the properties of
+            this object instance.
+            </summary>
+            <param name="type">The type of objects being retrieved</param>
+            <param name="propertyNames">A list of property names on the current object</param>
+            <returns>A collection of objects of the given type</returns>
+        </member>
+        <member name="T:Gentle.Framework.Operator">
+            <summary>
+            Enumeration of the comparison operators supported in SQL statements.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.Equals">
+            <summary>
+            This is the equals operator for strict equality comparisons. The framework automatically
+            uses the correct syntax for null value comparisons.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.NotEquals">
+            <summary>
+            This is the negated equals operator. The framework automatically uses the correct syntax 
+            for null value comparisons.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.Like">
+            <summary>
+            This is the equals operator for partial equality comparisons. The parameter value 
+            should be a string to match with percent characters used as wildcards.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.NotLike">
+            <summary>
+            This is the negated equals operator for partial equality comparisons. The parameter value 
+            should be a string to match with percent characters used as wildcards. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.LessThan">
+            <summary>
+            This is the less than operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.LessThanOrEquals">
+            <summary>
+            This is the less than or equals operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.GreaterThan">
+            <summary>
+            This is the greater than operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.GreaterThanOrEquals">
+            <summary>
+            This is the greater than or equals operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.In">
+            <summary>
+            This is the in operator which tests for set membership. Constraints using Operator.In can 
+            only be added by specifying a list of elements (though the lists may contain 0 or 1 elements). 
+            For details, please refer to the corresponing SqlBuilder.AddConstraint methods. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Operator.NotIn">
+            <summary>
+            This is the negated in operator which tests for set non-membership.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.LogicalOperator">
+            <summary>
+            Enumeration of the logic operators supported in SQL statements. This LogicOperators can only be 
+            used under with customConstraints. For details, please refer to the AddConstraint 
+            method that accepts this as a parameter.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.LogicalOperator.And">
+            <summary>
+            This is the AND operator.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.LogicalOperator.Or">
+            <summary>
+            This is the OR operator
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.SqlBuilder">
+            <summary>
+            	<p>This class can be used to construct instances of the <see cref="T:Gentle.Framework.SqlStatement"/> class. As such,
+            its use is comparable to that of the <see cref="T:System.Text.StringBuilder"/> class.</p>
+            	<p>Using this class it is easy to construct fairly complex queries for supported types (see
+            <see cref="T:Gentle.Framework.TableNameAttribute"/>).</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Type)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type
+            for the specified business class type.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Type,Gentle.Framework.LogicalOperator)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type
+            for the specified business class type.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+            <param name="logicalOperator">The logic operator used with constraints (can be either AND or OR)</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type.
+            </summary>
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider,Gentle.Framework.StatementType)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type.
+            </summary>
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider,Gentle.Framework.StatementType,System.Type)">
+            <summary> Construct a new SqlBuilder instance for constructing a statement of the 
+            given type for the specified business class type.
+            </summary> 
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.#ctor(Gentle.Framework.IGentleProvider,Gentle.Framework.StatementType,System.Type,Gentle.Framework.LogicalOperator)">
+            <summary>
+            Construct a new SqlBuilder instance for constructing a statement of the given type
+            for the specified business class type.
+            </summary>
+            <param name="provider">The IGentleProvider used to obtain an SqlFactory</param>
+            <param name="stmtType">The type of SQL statement to construct</param>
+            <param name="type">The object class to work on</param>
+            <param name="logicalOperator">The logic operator used with constraints (can be either AND or OR)</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetStatementType(Gentle.Framework.StatementType)">
+            <summary>
+            Set the type of statement (select/insert/update/delete) to construct.
+            </summary>
+            <param name="stmtType"></param>
+        </member>
+        <member name="P:Gentle.Framework.SqlBuilder.ParameterPrefix">
+            <summary>
+            <p>The character or string used to prefix parameters in SQL statements.</p>
+            <p>The value of this property varies between different persistence engines.</p>
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlBuilder.ParameterSuffix">
+            <summary>
+            <p>The character or string used to suffix parameters in SQL statements.</p>
+            <p>The value of this property varies between different persistence engines.</p>
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            <p>Get the statement for retrieving last inserted row id for auto-generated id columns.</p>
+            <p>The value of this property varies between different persistence engines.</p>
+            </summary>
+            <param name="sql"></param>
+            <param name="om"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetTable(System.String)">
+            <summary>
+            Set the name of the table to operate on.
+            </summary>
+            <param name="name">The table name to use in the constructed query.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetTable(System.Type)">
+            <summary>
+            Set the name of the table to operate on from the TableName attribute of the given type.
+            </summary>
+            <param name="type">The type from which to extract the table name.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetRowLimit(System.Int32)">
+            <summary>
+            Set the maximum number of rows to return. This setting is only used with select statements.
+            </summary>
+            <param name="rowLimit">The maximum number of rows to return. If the value is 0 or less no
+            restrictions will be applied.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.SetRowOffset(System.Int32)">
+            <summary>
+            Set the maximum number of rows to return. This setting is only used with select statements.
+            </summary>
+            <param name="rowOffset">The number of rows to skip. If the value is 0 or less no
+            restrictions will be applied.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddOrderByField(System.Boolean,System.String)">
+            <summary>
+            Add a property by which the result should be sorted. Multiple fields can be added and will
+            be used in the order they are given. 
+            This setting is only used with select statements.
+            </summary>
+            <param name="isAscending">Specifies the sort order applied to the given field</param>
+            <param name="fieldName">The name of the property by which to order the result</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddOrderByField(System.String)">
+            <summary>
+            Add a custom clause to the order by section of the SQL statement.
+            </summary>
+            <param name="orderClause">The clause to add to the order by section. Examples for
+            this parameter might be "name ASC" or "COALESCE(NameDE, NameEN) ASC".</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddFields(System.Type)">
+            <summary>
+            Add all properties carrying the TableColumn attribute as fields (e.g. as selected columns
+            for select statements).
+            </summary>
+            <param name="type">The type to process.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddKeyFields(System.Type,System.Boolean)">
+            <summary>
+            Add all properties carrying both the TableColumn and PrimaryKey attributes
+            as either fields or parameters.
+            </summary>
+            <param name="type"></param>
+            <param name="isParameter"></param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraints(System.Type)">
+            <summary>
+            Add all properties carrying both the TableColumn and PrimaryKey attributes
+            as constraint parameters.
+            </summary>
+            <param name="type">The type to process.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraints(System.Type,System.Boolean)">
+            <summary>
+            Add all properties carrying both the TableColumn and PrimaryKey attributes
+            as constraint parameters.
+            </summary>
+            <param name="type">The type to process.</param>
+            <param name="isWithConcurrency">True if concurrency restrictions should be applied.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraints(Gentle.Framework.Operator,System.Object[])">
+            <summary>
+            Add all specified constraint parameters. The fields array must contain pairs
+            consisting of a field name and its type. 
+            </summary>
+            <param name="op">The operator used in the constraint</param>
+            <param name="fields">The fields to constrain on. Property names are preferred but
+            column names can alse be used.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,System.Object)">
+            <summary>
+            Add a single fixed constraint with the given value and operator.
+            Case insensitive on the LIKE operator.
+            </summary>
+            <param name="op">The operator used in the constraint</param>
+            <param name="field">The field to constrain on. Property names are preferred but
+            column names can alse be used.</param>
+            <param name="value">The value used in the constraint</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,System.Object,System.Boolean)">
+            <summary>
+            Add a single fixed constraint with the given value and operator.
+            </summary>
+            <param name="op">The operator used in the constraint</param>
+            <param name="field">The field to constrain on. Property names are preferred but
+            column names can alse be used.</param>
+            <param name="value">The value used in the constraint</param>
+            <param name="isCaseSensitive">The indicator for setting the LIKE operator case sensitive</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,Gentle.Framework.FieldMap,System.Collections.ICollection,Gentle.Framework.FieldMap)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="fieldMap">The FieldMap instance for the field to constrain. The framework 
+            assumes property names but
+            also checks column names if no property could be found.</param>
+            <param name="data">The set of data to constrain on.</param>
+            <param name="constraintMap">If the constraint data set holds objects this is the property
+            name to gather from all objects. If the data set is an SqlResult this is the column name
+            to use from all rows. String-type fields are quoted, all other types are not. This method
+            performs no additional type checking and is likely to fail (when the statement is executed)
+            for esoteric types such as decimals or dates.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,System.Collections.ICollection,System.String)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="field">The name of the field to constrain. Gentle assumes a property name
+            is specified but also checks for column names if no property matched.</param>
+            <param name="data">The set of data to use in the constraint.</param>
+            <param name="constraintField">If the constraint data set holds objects this is the property
+            name whose values will be gathered from all objects. If null is passed the data collection
+            is treated as list of plain values.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,Gentle.Framework.SqlResult,System.String)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="field">The field to constrain. The framework assumes property names but
+            also checks column names if no property could be found.</param>
+            <param name="sr">The SqlResult containing the data used to constrain the field.</param>
+            <param name="constraintField">This is the column name to use from all rows in the SqlResult. 
+            String-type fields are quoted, all other types are not. This method performs no additional 
+            type checking and is likely to fail (when the statement is executed) for esoteric types 
+            such as decimals or dates.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(Gentle.Framework.Operator,System.String,Gentle.Framework.SqlResult)">
+            <summary>
+            This method is for adding set membership constraints using either Operator.In or
+            Operator.NotIn. If an invalid operator is used this method will throw an exception.
+            </summary>
+            <param name="op">The operator used for this constraint.</param>
+            <param name="field">The field to constrain. The framework assumes property names but
+            also checks column names if no property could be found.</param>
+            <param name="sr">The SqlResult containing the data used to constrain the field. The
+            SqlResult must either contain only one column or contain a column named as the field
+            parameter.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddConstraint(System.String)">
+            <summary>
+            Add a custom constraint as a single specified constraint clause. Use this for
+            subselects or other "complicated" constraints (unfortunately, these cannot be 
+            parameterized at the moment). This method will use the logicOperator, therefore
+            if you have used a <see cref="T:Gentle.Framework.LogicalOperator"/> it will be used here.
+            </summary>
+            <param name="clause">A valid constraint clause.</param>
+            <example>AddConstraint( "SUM(MemberCount) > 5" )</example>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsOperatorBegin(Gentle.Framework.Operator,System.Boolean)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string between the column name and the parameter value.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <param name="isValueNull">This parameter indicates whether the value of the parameter is null. This
+            is required because different operators must be used for null equality checls.</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsOperatorEnd(Gentle.Framework.Operator)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string after the parameter value. This string is usually empty.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsCommaList(System.Collections.ICollection)">
+            <summary>
+            This method will convert a list of field names into a comma delimited string of 
+            unquoted field names.
+            </summary>
+            <param name="fields">The fields to delimit.</param>
+            <returns>The comma delimited field list.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsCommaList(System.Collections.ICollection,System.Boolean)">
+            <summary>
+            This method will convert a list of field names into a comma delimited string of 
+            field names. Quoting of the individual fields is optional.
+            </summary>
+            <param name="fields">The fields to delimit.</param>
+            <param name="quoteFields">Whether to apply quotes around the fields.</param>
+            <returns>The coma delimited field list.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetTopLimit">
+            <summary>
+            This method returns the SQL string for restricting the number of rows if a limit
+            has been specified and the empty string otherwise. 
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetRowLimit">
+            <summary>
+            This method returns the SQL string for restricting the number of rows if a limit
+            has been specified and the empty string otherwise. 
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetRowOffset">
+            <summary>
+            This method returns the SQL string for skipping past a number of rows. This is useful
+            in combination with RowLimit for paging of data. 
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsFieldUpdateList">
+            <summary>
+            This method will format a list of fields for use in an update statement.
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsParameterList(System.Collections.ICollection)">
+            <summary>
+            This method will format a list of fields as parameters for use in an sql statement.
+            </summary>
+            <param name="fields">The fields that are being updated.</param>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AsParameter(System.String)">
+            <summary>
+            This method will format a single field name as a parameter for use in an sql statement.
+            </summary>
+            <param name="name">The parameter name.</param>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetConstraints">
+            <summary>
+            This method aggregates all the constraints specified previously by calls to the
+            SqlBuilder.AddConstraint methods.
+            </summary>
+            <returns>A fragment for use in an sql statement.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetOrderBy">
+            <summary>
+            This method returns the "order by" clause formatted for use in SQL queries.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.Format(System.String,System.Object[])">
+            <summary>
+            This method formats a string and is merely a shortcut ro the String.Format method.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddParameter(System.String,Gentle.Framework.FieldMap)">
+            <summary>
+            Add a parameter to the current statement.
+            </summary>
+            <param name="name">The parameter name to use if not the column name defined in the FieldMap</param>
+            <param name="fm">The FieldMap describing this parameter</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddParameter(System.String,System.Type)">
+            <summary>
+            Add a parameter to the current statement.
+            </summary>
+            <param name="name">The name of this parameter.</param>
+            <param name="type">The system type of this parameter.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.AddParameter(System.String,System.Int64)">
+            <summary>
+            Add a parameter to the current statement.
+            </summary>
+            <param name="name">The name of this parameter.</param>
+            <param name="dbType">The database type of this parameter.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.ToString">
+            <summary>
+            Construct and emit the SQL string represented by this instance. Note that this method
+            will convert any double spaces into a single space (this also affects non-parameterized
+            query parameters embedded in the SQL string). 
+            </summary>
+            <returns>The SQL string which would be in the generated <see cref="T:Gentle.Framework.SqlStatement"/> class.</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatementExplicit">
+            <summary>
+            Construct an SqlStatement object using the current state of this SqlBuilder instance.
+            This method is different from the other GetStatement methods in that it does not add
+            any fields to select or perform any other magic behind the scenes.
+            </summary>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement(Gentle.Framework.StatementType,System.Type)">
+            <summary>
+            Build a persistence engine specific SQL statement for the given type.
+            </summary>
+            <param name="stmtType">Type of statement to produce (select/insert/update/delete)</param>
+            <param name="type">The object class/type</param>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement(System.Boolean)">
+            <summary>
+            Build a persistence engine specific SQL statement. The object class and statement type must
+            have been set prior to calling this method.
+            </summary>
+            <param name="isCollection">For select statements, whether to return a list of items. If this
+            value is true the primary key field(s) will be used as constraint in the query (if it is
+            false, no constraints are automatically added by Gentle).</param>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement">
+            <summary>
+            Build a persistence engine specific SQL statement. The object class and statement type must
+            have been set prior to calling this method. When used with a select statement this method
+            assumes that your are selecting multiple objects and will not apply any constraints (aside
+            from those manually added).
+            </summary>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlBuilder.GetStatement(Gentle.Framework.StatementType,System.String,System.Type,System.Boolean)">
+            <summary>
+            Build a persistence engine specific SQL statement for the given object class, using the
+            class name as table name and properties for columns.
+            </summary>
+            <param name="stmtType">Type of statement to produce (select/insert/update/delete)</param>
+            <param name="tableName">The table name to use in the constructed query or null to use 
+            the table name associated with the type</param>
+            <param name="type">The object class/type</param>
+            <param name="isCollection">For select statements, whether to return a list of items</param>
+            <returns>An executable SQL statement object</returns>
+        </member>
+        <member name="T:Gentle.Framework.SqlResult">
+            <summary>
+            The SqlResult class serves as a multi-purpose encapsulation of query results, 
+            including access to error codes and information on sql errors, query info 
+            (rows affected/returned), and similar information.
+            </summary>
+            <remarks>
+            <p>Use the <see cref="T:Gentle.Framework.ObjectFactory"/> class to construct instances of objects
+            or create lists of identical objects from an instance of this class.</p>
+            <p>The <see cref="T:Gentle.Framework.Broker"/> class contains convenience methods for bypassing
+            the manual call to the <see cref="T:Gentle.Framework.ObjectFactory"/> and is able to return the
+            object directly.</p>
+            </remarks>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Int32,Gentle.Framework.SqlStatement)">
+            <summary>
+            Constructor for ExecuteNonQuery results.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="rowsAffected">The number of rows affected by the query</param>
+            <param name="stmt">The SqlStatement leading to this SqlResult</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Exception)">
+            <summary>
+            Constructor for error conditions.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="error">The exception raised by the .NET framework</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Object,Gentle.Framework.SqlStatement)">
+            <summary>
+            Constructor for ExecuteScalar results.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="retval">The object returned by the .NET database provider.</param>
+            <param name="stmt">The SqlStatement leading to this SqlResult</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.#ctor(Gentle.Framework.PersistenceBroker,System.Data.IDataReader,Gentle.Framework.SqlStatement)">
+            <summary>
+            Constructor that reads and encapsulates results from the data reader. The maximum
+            number of rows to retrieve is obtained from the SqlStatement parameter.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="dr">The DataReader instance to read from</param>
+            <param name="stmt">The SqlStatement leading to this SqlResult</param>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.ErrorCode">
+            <summary>
+            <p>The error code returned by the RDBMS from execution the query.</p>
+            <p>TODO: These codes need to be standardised - in its current state only the error
+            code 0 for success is guaranteed. All other error codes are vendor specific.</p>
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Error">
+            <summary>
+            The exception raised (or null if none) while trying to execute a query. This may be
+            anything raised by the data provider or a <see cref="T:Gentle.Common.GentleException"/> instance
+            if raised by the framework.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.ErrorMessage">
+            <summary>
+            The error message of the exception (in case one was raised, empty otherwise).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.RowsContained">
+            <summary>
+            Returns the number of rows contained in this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.RowsAffected">
+            <summary>
+            Returns the number of rows affected by the last query, when applicable.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.LastRowId">
+            <summary>
+            Returns the row identity generated by the database for the insert query, or
+            0 if no identity was generated.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Count">
+            <summary>
+            Returns the number of rows selected in a Count statement or 0 otherwise.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.ColumnNames">
+            <summary>
+            Returns an array of column names contained in the result rows. This property
+            is somewhat inaptly named RowNames and might be renamed in the future.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetColumnIndex(System.String)">
+            <summary>
+            Returns the index of the given column name in the result set rows.
+            </summary>
+            <param name="columnName"></param>
+            <returns>The column index or -1 if not present</returns>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Statement">
+            <summary>
+            Returns the SqlStatement leading to this SqlResult for select statements only and 
+            null otherwise.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.TransposeToFieldList(System.String,System.Boolean)">
+            <summary>
+            This method will convert the current result set into an array of values by picking the
+            specified column from all rows in the result set. This is intended to be used in 
+            subselects (i.e. the SqlBuilder class and the Operator.In method). 
+            </summary>
+            <param name="columnName">The column whose values to include in the list</param>
+            <param name="includeNullValues">If true null values will be included in the result</param>
+            <returns>An array of values</returns>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Rows">
+            <summary>
+            Returns an array of the result rows contained in this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Item(System.Int32)">
+            <summary>
+            Returns a single specific row from the rows contained in this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Item(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlResult.Item(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetString(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetString(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetBoolean(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetBoolean(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDateTime(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDateTime(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetInt(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetInt(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetLong(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetLong(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDouble(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDouble(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDecimal(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetDecimal(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetObject(System.Int32,System.String)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="column">The name of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlResult.GetObject(System.Int32,System.Int32)">
+            <summary>
+            Returns a single specific column value from the specified row.
+            </summary>
+            <param name="rowIndex">The index of the row from which to get the value</param>
+            <param name="columnIndex">The index of the column</param>
+            <returns>The value of the given cell</returns>
+        </member>
+        <member name="T:Gentle.Framework.SqlStatement">
+            <summary>
+            Encapsulation of a database-specific SQL statement.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.GetStatementType(System.String)">
+            <summary>
+            Determine the statement type of the supplied SQL statement by checking the first
+            3 characters of the string.
+            </summary>
+            <param name="sql">The SQL statement</param>
+            <returns>The <see cref="P:Gentle.Framework.SqlStatement.StatementType"/> of the statement</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.#ctor(Gentle.Framework.PersistenceBroker,Gentle.Framework.StatementType,System.Data.IDbCommand,System.String,System.Type,System.Int32,System.Int32)">
+            <summary>
+            Construct a new SqlStatement instance of the specified type. The command object to be used
+            for executing the query and the fully specified sql query string must be specified.  
+            </summary>
+            <param name="broker">The PersistenceBroker instance to use for database access.</param>
+            <param name="stmtType">The type of this statement.</param>
+            <param name="cmd">The command object to use when executing the query.</param>
+            <param name="sql">The fully specified sql query string.</param>
+            <param name="type">The type of object being selected by this query or null if 
+            not applicable.</param>
+            <param name="rowLimit">The maximum number of rows to be returned by this query 
+            or 0 for no limit.</param>
+            <param name="rowOffset">The number of rows to be skipped by this statement. Note that
+            for SQL Server this is applied after execution, whereas for other databases it is 
+            embedded in the SQL string.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.GetParameterValue(System.Object,Gentle.Framework.ObjectMap,Gentle.Framework.FieldMap,Gentle.Framework.StatementType)">
+            <summary>
+            TODO FIXME 
+            This method breaks use of multiple brokers, as it is static and references Broker (and thus DefaultProvider).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetParameter(System.String,System.Object)">
+            <summary>
+            Update a specific named parameter with the given value. 
+            </summary>
+            <param name="paramName">The parameter whose value to set</param>
+            <param name="paramValue">The value being assigned to the parameter</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetParameters(Gentle.Framework.Key,System.Boolean)">
+            <summary>
+            <p>Update the statement parameter values using the values from the key.</p>
+            <p>Warning! This will erase all parameter values not in the key, so if you
+            need to set additional parameters be sure to call this method before
+            any calls to SetParameter.</p>
+            </summary>
+            <param name="key">The key instance containing the parameter values.</param>
+            <param name="isUpdateAll">If true all statement parameters will be updated. If the
+            key has no value a null value will be assigned.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetParameters(System.Object,System.Boolean)">
+            <summary>
+            Update statement parameter values using the public properties of the source object.
+            This method simply gathers all public properties of the given object into a key and
+            calls the SetParameters method with the generated key and a boolean
+            value of false to indicate that parameters not in the key are to be left alone.
+            </summary>
+            <param name="source">The object from which to pull parameter values</param>
+            <param name="isUpdateAll">If true all statement parameters will be updated. If the
+            key has no value a null value will be assigned.</param>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.SetProperties(System.Object,Gentle.Framework.SqlResult)">
+            <summary>
+            Update the property values of the supplied object instance with the values of the first
+            row of the rows contained in the supplied SqlResult.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Execute(System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute the current instance using the supplied database connection and return
+            the result of the operation as an instance of the <see cref="T:Gentle.Framework.SqlResult"/> class.
+            </summary>
+            <param name="conn">The database connection to use for executing this statement.</param>
+            <param name="tr">The transaction instance to run this statement in. If there is no
+            transaction context then this parameter should be null. This will cause the 
+            connection to be closed after execution.</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Execute">
+            <summary>
+            Convenience method for executing statements without using the <see cref="T:Gentle.Framework.Broker"/> class. 
+            </summary>
+            <returns>The SqlResult containing the result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Prepare">
+            <summary>
+            Prepare the statement against the database. Useful if you will be reusing the statement 
+            for multiple queries.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.SqlStatement.Page(System.Int32)">
+            <summary>
+            Return the specified result set page. Beware of the fact that page indexes are 1-based.
+            </summary>
+            <param name="page">The page number to fetch. Use a value of 1 to obtain the first page.</param>
+            <returns>A new SqlResult instance with any matching rows</returns>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.Command">
+            <summary>
+            The command object used by this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.StatementType">
+            <summary>
+            The statement type of this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.Type">
+            <summary>
+            The type being selected by this instance or null if no type is being selected.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.Sql">
+            <summary>
+            The query string this statement encapsulates.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.RowLimit">
+            <summary>
+            The maximum number of rows returned by executing this statement or 0 if no limit applies.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.RowOffset">
+            <summary>
+            The maximum number of rows returned by executing this statement or 0 if no limit applies.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.CacheKey">
+            <summary>
+            Construct a unique string identifying this statement instance (for caching purposes).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.SqlStatement.IsLoggingEnabled">
+            <summary>
+            Check whether statement execution logging is on for the current instance.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.Transaction">
+            <summary>
+            Class to encapsulate persistent objects participating in a transaction. Use this object
+            if you need transaction protection for updating multiple objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.#ctor">
+            <summary>
+            Create a new transaction object. Use this to execute tasks in a transaction
+            using the default database provider.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.#ctor(Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Create a new transaction object. Use this to execute tasks in a transaction
+            using the specified PersistenceBroker and associated database provider.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Initialize">
+            <summary>
+            Initialize connection and transaction objects.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.Transaction.IsInitialized">
+            <summary>
+            True when underlying connection and transaction object references exist. When this
+            property is true, clients must remember to call either Commit or Rollback to 
+            release the resources used.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Execute(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute a custom statement in this transaction.
+            </summary>
+            <param name="stmt">The SqlStatement to add</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Persist(Gentle.Framework.IEntity)">
+            <summary>
+            Persist the given IPersistance instance in this transaction.
+            </summary>
+            <param name="entity">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Insert(System.Object)">
+            <summary>
+            Insert the given object instance in this transaction.
+            </summary>
+            <param name="entity">The object to insert</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Update(System.Object)">
+            <summary>
+            Update the given object instance in this transaction.
+            </summary>
+            <param name="entity">The object to update</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Remove(System.Object)">
+            <summary>
+            Remove the given object instance in this transaction.
+            </summary>
+            <param name="entity">The object to remove</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Remove(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Remove the object given its type and a key.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Remove``1(Gentle.Framework.Key)">
+            <summary>
+            Remove the object given its type and a key.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Refresh(System.Object)">
+            <summary>
+            Refresh the current instance with the values from the database. This is
+            effectively the same as creating a new instance using the key of the 
+            current object and updating properties on the current object using the
+            values from the retrieved object. This method has serious performance
+            implications if used a lot and it should therefore be used sparingly.
+            Use a static Retrieve method to fetch a new instance instead and save
+            the overhead incurred by having to copy the property values.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an instance of the specified type in this transaction.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an instance of the specified type in this transaction.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList)">
+            <summary>
+            Retrieve multiple instances of the given type in this transaction. The retrieved 
+            rows are limited by the fields and values specified in the given <see cref="T:Gentle.Framework.Key"/> 
+            instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created 
+            objects. If this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve multiple instances of the given type in this transaction. The retrieved 
+            rows are limited by the fields and values specified in the given <see cref="T:Gentle.Framework.Key"/> 
+            instance.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created 
+            objects. If this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Commit">
+            <summary>
+            Commit this transaction. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.Transaction.Rollback">
+            <summary>
+            Rollback this transaction.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ValidateEventHandler">
+            <summary>
+            Validate event handler
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TypedArrayItemBase">
+            <summary>
+            Typed array item base class that implements IBindable and takes care
+            of save and restore the original values for the parent object
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.#ctor">
+            <summary>
+            Default constructor that marks the object as new.
+            A parent should set the IsNew to false for a loaded record
+            </summary>
+        </member>
+        <member name="E:Gentle.Framework.TypedArrayItemBase.ValidateObject">
+            <summary>
+            Validation event that the user can implement if they need to validate the
+            object before completing an edit.  An exception should be thrown if error
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.OnValidate">
+            <summary>
+            The validate method for ensuring the object is well formed
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.AnalyseObjectType">
+            <summary>
+            Store a list of all property methods of the type stored in the ArrayList. 
+            </summary>
+            <remarks>
+            The list is used by the <see cref="M:System.ComponentModel.ITypedList.GetItemProperties(System.ComponentModel.PropertyDescriptor[])"/>.
+            Because using Reflection is time consuming the property methods are reflected once
+            while constructing an object of the TypedArrayList class.
+            </remarks>
+        </member>
+        <member name="P:Gentle.Framework.TypedArrayItemBase.IsNew">
+            <summary>
+            The is new property is set by the parent
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TypedArrayItemBase.IsDirty">
+            <summary>
+            Indicates if the object has been modified
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TypedArrayItemBase.IsBeingEdited">
+            <summary>
+            Property to return if the object is currently being edited
+            </summary>
+        </member>
+        <member name="E:Gentle.Framework.TypedArrayItemBase.RemoveObject">
+            <summary>
+            The remove object event to call back into the TypedArrayList
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.System#ComponentModel#IEditableObject#BeginEdit">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.System#ComponentModel#IEditableObject#EndEdit">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TypedArrayItemBase.System#ComponentModel#IEditableObject#CancelEdit">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.BrokerLock">
+            <summary>
+            Abstract base class for all classes that need to be locked to a
+            specific PersistenceBroker instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.BrokerLock.SessionBroker">
+            <summary>
+            The session broker provides a lock to the database engine. This is
+            useful when connecting to multiple databases in a single application.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.FieldList">
+            <summary>
+            Helper class for storing multiple <see cref="T:Gentle.Framework.FieldMap"/> entries in
+            a single array. It contains methods to locate and translate between
+            column and property names.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.FieldList.FindProperty(System.String)">
+            <summary>
+            Obtain the column name corresponding to a given property name.
+            </summary>
+            <param name="name">The name of the property</param>
+            <returns>The corresponding FieldMap</returns>
+        </member>
+        <member name="M:Gentle.Framework.FieldList.FindColumn(System.String)">
+            <summary>
+            Obtain the property name corresponding to a given column name.
+            </summary>
+            <param name="name">The name of the column</param>
+            <returns>The corresponding FieldMap</returns>
+        </member>
+        <member name="P:Gentle.Framework.FieldList.PrimaryKeyCount">
+            <summary>
+            Returns the number of primary key fields in the array.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.FieldMap">
+            <summary>
+            A small structure for storing metadata for table columns (fields).
+            </summary>
+            <remarks>
+            </remarks>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.#ctor(Gentle.Framework.ObjectMap,Gentle.Common.MemberAttributeInfo)">
+            <summary>
+            Constructor for fields using information obtained from the TableColumn attribute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.#ctor(Gentle.Framework.TableMap,System.String)">
+            <summary>
+            Constructor for fields using information obtained directly from the database (no property info).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.ColumnName">
+            <summary>
+            The (unquoted) column name this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.QuotedColumnName">
+            <summary>
+            The (reserved word quoted) column name this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.TableColumnName">
+            <summary>
+            The column name this instance represents prefixed by the table to which it belongs ("table.column").
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.MemberName">
+            <summary>
+            The name of the field or property this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.MemberType">
+            <summary>
+            The type of member (as a value of the MemberTypes enum) this instance represents.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.Type">
+            <summary>
+            The member (field or property) type to which this instance belongs.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.DbType">
+            <summary>
+            The database type of this field (the rdbms-specific type enumeration converted to long).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsReservedWord">
+            <summary>
+            A boolean indicating whether the name of this field is reserved and needs special quoting.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.Size">
+            <summary>
+            The size of this field or 0 if not applicable or unknown.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsNullable">
+            <summary>
+            A boolean indicating whether the database column accepts nulls.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsNullAssignable">
+            <summary>
+            A boolean indicating whether a null value can be assigned to the property.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsValueType">
+            <summary>
+            A boolean indicating whether the property type of this field is a value type.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsGenericNullableType">
+            <summary>
+            A boolean indicating whether the type of this field is derived from NullableType.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsAutoGenerated">
+            <summary>
+            A boolean indicating whether this field is autogenerated by the database on insert.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsPrimaryKey">
+            <summary>
+            A boolean indicating whether this is a primary key field.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsAutoGeneratedKeyAndSupportedType">
+            <summary>
+            A boolean indicating whether this autogenerated key field is of a type supported 
+            by Gentle.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsForeignKey">
+            <summary>
+            A boolean indicating whether this is a foreign key field.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.ForeignKeyTableName">
+            <summary>
+            The name of the table for foreign keys and null otherwise.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.ForeignKeyColumnName">
+            <summary>
+            The name of the table column for foreign keys and null otherwise.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.NullValue">
+            <summary>
+            The NULL value used when performing automatic translation between 
+            a value type and database nulls.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.MemberInfo">
+            <summary>
+            The MemberInfo instance of the member represented by this instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.SequenceName">
+            <summary>
+            The name of the database sequence for autogenerated columns, usually the primary key column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.HandleEnumAsString">
+            <summary>
+            If this field info represents enum then this property indicates 
+            wheter it is saved as string or as integer.
+            Default is false, ie enums are saved as integers
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsReadOnly">
+            <summary>
+            This value indicates that the column should not be set on insert and update. It is
+            primarily useful for columns that are set internally by the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.FieldMap.IsUpdateAfterWrite">
+            <summary>
+            This value indicates that the column must be read after each insert and update. It is
+            primarily useful for columns that are set internally by the database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.GetValue(System.Object)">
+            <summary>
+            Get the value of the property for this FieldMap from the given instance. 
+            </summary>
+            <param name="instance">The object whose property value will be retrieved.</param>
+            <returns>The value of the property.</returns>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.SetValue(System.Object,System.Object)">
+            <summary>
+            Set the value of the property for this FieldMap on the given instance. 
+            </summary>
+            <param name="instance">The object whose property value will be set.</param>
+            <param name="value">The value to assign to the property.</param>
+        </member>
+        <member name="M:Gentle.Framework.FieldMap.ToString">
+            <summary>
+            Override the <see cref="M:Gentle.Framework.FieldMap.ToString"/> method to produce a human readable
+            representation of the <see cref="T:Gentle.Framework.FieldMap"/> object.
+            </summary>
+            <returns>The string representation of the object.</returns>
+        </member>
+        <member name="T:Gentle.Framework.GentleRelation">
+            <summary>
+            This is a container class for managed storage of objects. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.relatedTypes">
+            <summary>
+            An array of types involved in this relation.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.relations">
+            <summary>
+            A GentleList used to automate the persistence of the contained objects.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.containedMap">
+            <summary>
+            An ObjectMap describing the type contained in this list.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleRelation.parent">
+            <summary>
+            The parent object of this list.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(System.Type,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(System.Type,Gentle.Framework.IPersistent,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(Gentle.Framework.PersistenceBroker,System.Type,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.#ctor(Gentle.Framework.PersistenceBroker,System.Type,Gentle.Framework.IPersistent,System.Type[])">
+            <summary>
+            Create a new list for storing the specified type of objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Add(System.Object[])">
+            <summary>
+            Add an object to the list. The object is created using values from the list of related 
+            objects passed. This means you dont pass the relation object itself, but rather the 
+            list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="relatedObjects">The list of related objects</param>
+            <returns>The index of the newly created relation</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Add(Gentle.Framework.Transaction,System.Object[])">
+            <summary>
+            Add an object to the list. The object is created using values from the list of related 
+            objects passed. This means you dont pass the relation object itself, but rather the 
+            list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="relatedObjects">The list of related objects</param>
+            <returns>The index of the newly created relation</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Remove(System.Object[])">
+            <summary>
+            Removes a relation from the list. The relation to remove is found using values from the 
+            list of related objects passed. This means you dont pass the relation object itself, but 
+            rather the list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="relatedObjects">The list of related objects</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleRelation.Remove(Gentle.Framework.Transaction,System.Object[])">
+            <summary>
+            Removes a relation from the list. The relation to remove is found using values from the 
+            list of related objects passed. This means you dont pass the relation object itself, but 
+            rather the list of objects which are related (in an n:m fashion).
+            </summary>
+            <param name="transaction">The transaction within which to execute statements.</param>
+            <param name="relatedObjects">The list of related objects</param>
+        </member>
+        <member name="P:Gentle.Framework.GentleRelation.Count">
+            <summary>
+            Returns the number of relation objects currently in the list.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ObjectMap">
+            <summary>
+            Helper class for determining constructors, parameter ordering and whatever else is needed
+            in order to construct objects.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.#ctor(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Construct an ObjectMap instance for the given type.
+            </summary>
+            <param name="broker">The PersistenceBroker instance to which this map is related.</param>
+            <param name="type">The type for which this instance is a map</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.SetTableName(System.Type)">
+            <summary>
+            Update the current ObjectMap instance with the table name obtained from
+            the Gentle TableNameAttribute. 
+            Also determines whether table name is dynamic or fixed.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetTableName(System.Object)">
+            <summary>
+            This method is called to obtain the table name for the current object instance.
+            </summary>
+            <param name="instance">The instance from which to obtain the table name.</param>
+            <returns>The table name</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.DetermineConstructor(System.String[],System.Object[])">
+            <summary>
+            Method to scan for and determine the least expensive constructor for a given array of 
+            column names. 
+            </summary>
+            <param name="columnNames">The column names of the result set</param>
+            <param name="row">A sample row used to determine if type conversion is needed</param>
+            <returns>A hash which can be used as constructor selector subsequently or 0 if no
+            valid constructor could be found for the given columns.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.Construct(System.Int32,System.Object[],Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Construct an object instance using the constructor associated with the given hash code.
+            </summary>
+            <param name="columnComboHashCode">The hash code of the column names used to select a 
+            specific constructor</param>
+            <param name="row">The data to use for object creation</param>
+            <param name="broker">The PersistenceBroker instance used to fetch the current row</param>
+            <returns>An new object instance</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.Construct(Gentle.Framework.Key,Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Construct an object instance using the data supplied in the key. The type for which this 
+            is a map is scanned for constructors that can be used with the available keys from the
+            given Key instance.
+            </summary>
+            <param name="key">A full set of key/value pairs to use for constructing the object. The
+            type being constructed must have a constructor with exactly the number of arguments
+            contained in the given Key instance.</param>
+            <param name="broker">The PersistenceBroker instance used to fetch the current row</param>
+            <returns>An instance of the given type</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetRowIndex(System.String[],System.String)">
+            <summary>
+            Determine the index position of the given rowName in the supplied columnNames array.
+            </summary>
+            <param name="row">The array of column names to search</param>
+            <param name="columnName">The name to look for</param>
+            <returns>The index of name in the array or -1 if not found</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.SetProperties(System.Object,System.String[],System.Object[])">
+            <summary>
+            Update the properties of the given object using the data in the supplied column name
+            and column data arrays. Column names are mapped to their corresponding property, and
+            only non-primary key columns are updated. The primary key columns are assumed to have
+            been updated in the constructor used to create the object instance.
+            </summary>
+            <param name="obj">The object to update</param>
+            <param name="columnNames">The column names</param>
+            <param name="row">The column values</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetFieldMap(System.String)">
+            <summary>
+            Obtain a <see cref="T:Gentle.Framework.FieldMap"/> instance for the given property name.
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <returns>The FieldMap of the property</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetForeignKeyFieldMap(System.Type,System.String)">
+            <summary>
+            Obtain a <see cref="T:Gentle.Framework.FieldMap"/> instance from the current map. The field
+            must be a foreign key reference to the given property on the given type.
+            </summary>
+            <param name="referencedType">The type to which the property should refer</param>
+            <param name="propertyName">The name of the property on the referenced type</param>
+            <returns>The FieldMap of the foreign key property from this map</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetColumnName(System.String)">
+            <summary>
+            Obtain the column name corresponding to a given property name.
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <returns>The name of the column</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetPropertyName(System.String)">
+            <summary>
+            Obtain the property name of a given column name.
+            </summary>
+            <param name="columnName">The name of the column</param>
+            <returns>The name of the property</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetPropertyType(System.String)">
+            <summary>
+            Obtain the system type of the given property.
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <returns>The system type of the property</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.GetPrimaryKeyNames(System.Boolean)">
+            <summary>
+            Obtain a string array holding the (member or column) names of all the primary keys.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.SetIdentity(System.Object,System.Int32)">
+            <summary>
+            Update the identity property with the value from the supplied <see cref="T:Gentle.Framework.SqlResult"/>
+            instance. The identity property must be a single integer value for this to work. The 
+            identity property is the one holding the PrimaryKey attribute with the AutoGenerated
+            value set to true.
+            </summary>
+            <param name="obj">The object instance whose identity should be set</param>
+            <param name="identity">The row identity (i.e. the LastRowId property of SqlResult)</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectMap.AddViewColumn(System.String,Gentle.Framework.ViewMap)">
+            <summary>
+            Adds a column to the specified named DataView. The ViewMap is a small helper class
+            used to connect DataView columns with object properties.
+            </summary>
+            <param name="viewName">The name of the DataView</param>
+            <param name="viewMap">The ViewMap instance to add to this view</param>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.Type">
+            <summary>
+            The business class for which this instance holds mapping information.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.IsDynamicTable">
+            <summary>
+            True if the type to which this ObjectMap belongs maps to multiple tables.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.Views">
+            <summary>
+            A collection of named DataViews we can generate for the type represented.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.ConcurrencyMap">
+            <summary>
+            Get the FieldMap for the concurrency column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.SoftDeleteMap">
+            <summary>
+            Get the FieldMap for the soft delete column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.InheritanceMap">
+            <summary>
+            Get the FieldMap for the inheritance column (where the actual type name is stored).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.Validations">
+            <summary>
+            Get the validations that are to be performed on the object.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.IsSoftDelete">
+            <summary>
+            True if the type to which this ObjectMap belongs should use soft delete (i.e. mark
+            rows as deleted and filter them from queries on select) instead of hard delete.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.IsUpdateAfterWrite">
+            <summary>
+            This value indicates whether the table (to which this type maps) has any columns
+            that are updated by the database on write. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.CacheStrategy">
+            <summary>
+            The cache behavior for objects of this type. Can be either permanent,
+            temporary (the default unless overridden in the config file), or never.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ObjectMap.SchemaName">
+            <summary>
+            The schema name to use for objects of this type. This overrides any value
+            defined for a specific provider. This is currently unused and has no effect.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ObjectView">
+            <summary>
+            Helper class for converting between arrays of business objects and DataView
+            instances useable in UI components. To customize the layout and formatting of
+            the generated DataViews, decorate properties with the <see cref="T:Gentle.Framework.CustomViewAttribute"/> 
+            attribute.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.AddColumn(Gentle.Framework.ViewMap)">
+            <summary>
+            Adds a column to this view. 
+            </summary>
+            <param name="viewMap">The view map instance to use for this column</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.OrderColumns">
+            <summary>
+            Calling this method will sort the viewMaps ArrayList by the columnIndexes.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataTable">
+            <summary>
+            Construct a DataTable with columns for the type represented.
+            </summary>
+            <returns>A new DataTable instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetItemArray(System.Object)">
+            <summary>
+            Construct an item array of values gathered from the supplied instance. The item array
+            is used to batch set all the values in a DataView row.
+            </summary>
+            <param name="instance">The instance whose property values are used</param>
+            <returns>The item array</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataTable(System.Type,System.String)">
+            <summary>
+            Obtain a DataTable for the specified type and view.
+            </summary>
+            <returns>The new DataTable instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataTable(System.Type)">
+            <summary>
+            Obtain a DataTable for the specified type using the "default" view.
+            </summary>
+            <returns>The new DataTable instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(System.Type,System.String,System.Collections.IList)">
+            <summary>
+            Create and populate a DataView with the given name. Use this method when you need
+            to specify the object type manually (which is the case when the view is specified
+            on a base class and the list may contain various subclasses).
+            </summary>
+            <param name="type">The type associated with the given view name</param>
+            <param name="viewName">The name of the view</param>
+            <param name="data">The list of objects to include in the view</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(System.String,System.Collections.IList)">
+            <summary>
+            Create and populate a DataView using the specified view. The object type is automatically
+            determined from the contents of the data parameter (which must not be null or empty).
+            </summary>
+            <param name="viewName">The name of the view</param>
+            <param name="data">The list of objects to include in the view</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(System.Collections.IList)">
+            <summary>
+            Create and populate a DataView using the "default" view. The object type is automatically
+            determined from the contents of the data parameter (which must not be null or empty).
+            </summary>
+            <param name="data">The list of objects to include in the view</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectView.GetDataView(Gentle.Framework.SqlResult)">
+            <summary>
+            Create and populate a DataView from the given SqlResult. Columns in the result set
+            are copied verbatim to the DataView.
+            </summary>
+            <param name="sr">The SqlResult used to generate and populate the DataView.</param>
+            <returns>The new DataView instance</returns>
+        </member>
+        <member name="T:Gentle.Framework.PersistenceBroker">
+            <summary>
+            Singleton used to interface with the persistence layer. Caches SqlStatements and
+            uses PersistenceEngine to execute statements.
+            </summary>
+            <remarks>
+            This class is responsible for interacting with the SQL engine (RDBMS) used. It handles
+            caching of statements and retrieved objects, and uses many of the other classes in the
+            framework to perform its duties.
+            </remarks>
+            <see>NamespaceDoc</see>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(System.String,System.String,System.String)">
+            <summary>
+            This method constructs a PersistenceBroker instance. The specified provider (database
+            engine name) and connection string will be used to instantiate the desired backend
+            engine used by this broker. The name will be used to uniquely distinguish this instance
+            from other providers, and can be used to later obtain a reference to the cached instance
+            by calling <see cref="M:Gentle.Framework.ProviderFactory.GetNamedProvider(System.String,Gentle.Framework.IGentleProvider@)"/>.
+            </summary>
+            <param name="name">The unique name to associate with this provider/broker pair.</param>
+            <param name="providerName">The database engine name</param>
+            <param name="connectionString">The connection string for connecting to the database</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(System.String,System.String)">
+            <summary>
+            This method constructs a PersistenceBroker instance. The specified provider (database
+            engine name) and connection string will be used to instantiate the desired backend
+            engine used by this broker. 
+            </summary>
+            <param name="providerName">The database engine name</param>
+            <param name="connectionString">The connection string for connecting to the database</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor">
+            <summary>
+            Constructor using the DefaultProvider from the configuration file.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Constructor using the supplied provider (or using DefaultProvider settings if null is passed).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.#ctor(System.Type)">
+            <summary>
+            Constructor selecting the provider based on the namespace of the supplied type.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.PersistenceBroker.ProviderName">
+            <summary>
+            Returns the class name of the current database engine.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.PersistenceBroker.Provider">
+            <summary>
+            Return the currently used IGentleProvider instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetSqlFactory">
+            <summary>
+            Retrieve an GentleSqlFactory instance for the database backend used.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetStatement(System.String)">
+            <summary>
+            Return a new SqlStatement instance (ready for execution) using the specified 
+            sql query string.
+            </summary>
+            <param name="sql">The entire SQL string to use for this statement. The statement
+            type is determined from the SQL string. If the type cannot be determined the query 
+            is executed using ExecuteNonQuery.</param>
+            <returns>An SqlStatement instance prepared for execution</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetStatement(Gentle.Framework.StatementType,System.String)">
+            <summary>
+            Return a new SqlStatement instance (ready for execution) using the specified 
+            sql query string.
+            </summary>
+            <param name="sql">The query string to use for the SqlStatement</param>
+            <param name="stmtType">The statement type. Select statements are executed using
+            ExecuteReader. Insert, Update and Delete are executed using ExecuteNonQuery. 
+            Count is executed using ExecuteScalar.</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Retrieve(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve data for the specified type. Throws an exception for unsupported types.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <returns>An SqlResult containing the returned rows and helper methods</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Retrieve(System.Type,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve data for the specified type. Throws an exception for unsupported types.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An SqlResult containing the returned rows and helper methods</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Retrieve(System.Object,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Refresh the supplied object instance with the values of the object identified by
+            the key.
+            </summary>
+            <param name="obj">The object to update</param>
+            <param name="key">The key of the object to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Refresh(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Refresh the properties of the given object with the values from the
+            database. This is essentially a Retrieve operation, but instead of
+            returning a new object, the existing is updated. This allows it to be
+            used within constructors.
+            Throws an exception for unsupported types.
+            </summary>
+            <param name="obj">The object instance to update</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Refresh(System.Object)">
+            <summary>
+            Refresh the properties of the given object with the values from the
+            database. This is essentially a Retrieve operation, but instead of
+            returning a new object, the existing is updated. This allows it to be
+            used within constructors.
+            Throws an exception for unsupported types.
+            </summary>
+            <param name="obj">The object instance to update</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Refresh(Gentle.Framework.IEntity)">
+            <summary>
+            Refresh the supplied object instance with the values in the database.
+            </summary>
+            <param name="p">The object to update</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <param name="type">The type of object to retrieve</param>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method will raise an
+            exception if not exactly one record matches the query. If you wish for
+            null results to be allowed, use the <see cref="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)"/>
+            method instead.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key identifying the object</param>
+            <returns>An object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <param name="type">The type of object to create</param>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.TryRetrieveInstance``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve an object given its type and key. This method returns null if no
+            record matches the query.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key of the object to retrieve</param>
+            <returns>The created object instance or null if no records were retrieved.</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance(System.Type,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve an instance of the given type and identified by the given key using the
+            supplied connection and transaction.
+            </summary>
+            <param name="type">The type of object to create</param>
+            <param name="key">The key of the object to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>The created object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveInstance``1(Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve an instance of the given type and identified by the given key using the
+            supplied connection and transaction.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key of the object to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>The created object instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,System.Collections.IList)">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve a list of objects of a given type.
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <param name="type">The type of objects to retrieve</param>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(Gentle.Framework.Key)">
+            <summary>
+            Retrieve a list of objects of a given type, optionally using the key as constraints.
+            The key must contain column names and values (they will not be translated from
+            property names to column names).
+            </summary>
+            <typeparam name="T">The type of object to retrieve</typeparam>
+            <param name="key">The key containing any constraints</param>
+            <returns>A collection of object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0})">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <typeparam name="T">The type of objects to create</typeparam>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList(System.Type,Gentle.Framework.Key,System.Collections.IList,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveList``1(Gentle.Framework.Key,System.Collections.Generic.IList{``0},System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <typeparam name="T">The type of objects to retrieve</typeparam>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An array containing the created object instances</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveListRaw(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <returns>An SqlResult with the returned rows</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RetrieveListRaw(System.Type,Gentle.Framework.Key,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Retrieve multiple instances of the given type. The retrieved rows are limited by the fields
+            and values specified in the given <see cref="T:Gentle.Framework.Key"/> instance.
+            </summary>
+            <param name="type">The type of objects to create</param>
+            <param name="key">The key of the objects to retrieve</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>An SqlResult with the returned rows</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.Object,Gentle.Framework.StatementType,System.Data.IDbConnection)">
+            <summary>
+            Internal helper method used for standard CRUD operations on known types.
+            </summary>
+            <param name="obj">The object instance being operated on</param>
+            <param name="st">The statement type</param>
+            <param name="conn">The database connection for when participating in transactions</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.Object,Gentle.Framework.StatementType,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Internal helper method used for standard CRUD operations on known types.
+            </summary>
+            <param name="obj">The object instance being operated on</param>
+            <param name="st">The statement type</param>
+            <param name="conn">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous statement.</param>
+            <param name="tr">The database transaction for when participating in transactions.</param>
+            <returns>The result of the operation</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Persist(Gentle.Framework.IEntity)">
+            <summary>
+            Persist (insert or update) an object. Updates the property decorated with the 
+            PrimaryKey field if the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Persist(Gentle.Framework.IEntity,System.Data.IDbTransaction)">
+            <summary>
+            Persist (insert or update) an object. Updates the property decorated with the 
+            PrimaryKey field if the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to persist</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Insert(System.Object)">
+            <summary>
+            Insert an object. Updates the property decorated with the PrimaryKey field if 
+            the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to insert</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Insert(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Insert an object. Updates the property decorated with the PrimaryKey field if 
+            the AutoGenerated property has been set to true.
+            </summary>
+            <param name="obj">The object to insert</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Update(System.Object)">
+            <summary>
+            Update an existing object.
+            </summary>
+            <param name="obj">The object to update</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Update(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Update an existing object.
+            </summary>
+            <param name="obj">The object to update</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Object)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="obj">The object to persist</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Object,System.Data.IDbTransaction)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="obj">The object to persist</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Type,Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove``1(Gentle.Framework.Key)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <typeparam name="T">The type of object</typeparam>
+            <param name="key">The key indentifying the object</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove(System.Type,Gentle.Framework.Key,System.Data.IDbTransaction)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <param name="type">The type of object</param>
+            <param name="key">The key indentifying the object</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Remove``1(Gentle.Framework.Key,System.Data.IDbTransaction)">
+            <summary>
+            Permanently remove an object.
+            </summary>
+            <typeparam name="T">The type of object</typeparam>
+            <param name="key">The key indentifying the object</param>
+            <param name="tr">The database transaction for when participating in transactions</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String,Gentle.Framework.StatementType,System.Type,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="stmtType">The statement type (used to determine the query execution mode)</param>
+            <param name="type">The type associated with this statement</param>
+            <param name="dbConnection">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="dbConnection">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String,System.Data.IDbTransaction)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(System.String)">
+            <summary>
+            Execute a fully specified custom SQL query.
+            </summary>
+            <param name="sql">The fully specified SQL query to execute</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbConnection,System.Data.IDbTransaction)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="dbConnection">An existing database connection to reuse. This is useful
+            when you need to execute statements in the same session as a previous
+            statement.</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.Execute(Gentle.Framework.SqlStatement,System.Data.IDbTransaction)">
+            <summary>
+            Execute a custom SQL statement.
+            </summary>
+            <param name="stmt">The statement to execute, wrapped in a SqlStatement object</param>
+            <param name="dbTransaction">The database transaction for when participating in transactions</param>
+            <returns>An SqlResult instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.RegisterStatement(System.String,Gentle.Framework.SqlStatement)">
+            <summary>
+            Associate an SqlStatement with a system type (must be a descendant of Persistent).
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <param name="stmt">The SQL statement object</param>
+        </member>
+        <member name="M:Gentle.Framework.PersistenceBroker.GetRegisteredStatement(System.String)">
+            <summary>
+            Retrieve a previously registered SqlStatement.
+            </summary>
+            <param name="name">The name used to identify this statement</param>
+            <returns>The previously registered SQL statement (if any)</returns>
+        </member>
+        <member name="T:Gentle.Framework.ProviderFactory">
+            <summary>
+            Provider factory for dynamic instantiation of providers.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.GetNamedProvider(System.String,Gentle.Framework.IGentleProvider@)">
+            <summary>
+            This method returns true if a provider was found with the specified name. The matching
+            provider is returned in the out parameter.
+            </summary>
+            <param name="name">The developer assigned name of the provider.</param>
+            <param name="provider">The matching provider or null if none was found.</param>
+            <returns>True if a match was found and false otherwise.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.GetProvider(System.Type)">
+            <summary>
+            Get the provider for a specific type. This method tries to find a corresponding
+            namespace provider to use, and if no match is found, returns the default provider.
+            </summary>
+            <param name="type">The type for which to find a provider.</param>
+            <returns>A GentleProvider instance.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.AddNamespaceProvider(System.String,System.String,System.String)">
+            <summary>
+            Add a new namespace provider. If a namespace provider has been registered, Gentle will
+            try to match the namespace of a type to those registered, and if a match is found will
+            use the associated provider and connection string (instead of the default provider).
+            Namespaces are matched using StartsWith, so using incomplete substrings is supported
+            (the longest match will be used if multiple namespaces match).
+            </summary>
+            <param name="nmspace">The namespace string to use.</param>
+            <param name="provider">The provider to use for this namespace.</param>
+            <param name="connectionString">The connection string to use with this provider.</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.SetDefaultProvider(System.String)">
+            <summary>
+            Update or set the default provider to use. Unless you are calling this method prior to 
+            using Gentle the first time, you should call the ResetGentle method to clear all cached data.
+            </summary>
+            <param name="providerName">The default provider to use.</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.SetDefaultProviderConnectionString(System.String)">
+            <summary>
+            Update or set the connection string to be used with the default provider. Unless
+            you are calling this method prior to using Gentle the first time, you should call 
+            the ResetGentle method to clear all cached data.
+            </summary>
+            <param name="connectionString">The connection string to use with the default provider.</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.ResetGentle">
+            <summary>
+            Clear all caches (metadata and providers). Call this method after updating the
+            default provider connection string.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ProviderFactory.ResetGentle(System.Boolean)">
+            <summary>
+            Clear all caches (metadata and providers). Call this method after updating the
+            default provider connection string.
+            </summary>
+            <param name="clearObjectMapCache">True to clear the internal metadata cache (a list
+            of ObjectMap entries stored in a static variable in the ObjectFactory class).</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.SetDefaultProvider(System.String)">
+            <summary>
+            Set the default provider. Call this method during application startup 
+            to override the default provider defined in the Gentle config file.
+            </summary>
+            <param name="providerName">The default provider name</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.SetDefaultConnectionString(System.String)">
+            <summary>
+            Set the connection string used by the default provider. Call this method
+            during application startup to override the connection string defined in
+            the Gentle config file.
+            </summary>
+            <param name="connectionString">The default connection string</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.GetProviderInfo(System.Reflection.Assembly)">
+            <summary>
+            Verify that the specified library contains an IGentleProvider instance, and
+            fill out a ProviderInfo struct if the given assembly is valid.
+            </summary>
+            <param name="assembly">The provider assembly to verify</param>
+        </member>
+        <member name="M:Gentle.Framework.ProviderRegistry.GetProviderInfo(System.String)">
+            <summary>
+            Load the specified library/assembly dll.
+            </summary>
+            <param name="assemblyName">The assembly name to load</param>
+        </member>
+        <member name="P:Gentle.Framework.ProviderRegistry.ProviderCount">
+            <summary>
+            Returns the number of provider libraries found.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.TableMap">
+            <summary>
+            Helper class to maintain metadata on tables and columns.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.#ctor(Gentle.Framework.IGentleProvider,System.String)">
+            <summary>
+            Construct a TableMap instance to hold information on the given table.
+            </summary>
+            <param name="provider">The Gentle provider to which this map relates.</param>
+            <param name="tableName">The name of the table for which to hold information.</param>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.#ctor(Gentle.Framework.PersistenceBroker,System.String)">
+            <summary>
+            Construct a TableMap instance to hold information on the given table.
+            </summary>
+            <param name="broker">The PersistenceBroker instance used to obtain metadata on the table.
+            If null is passed the DefaultProvider settings will be used.</param>
+            <param name="tableName">The name of the table for which to hold information.</param>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.#ctor(Gentle.Framework.PersistenceBroker)">
+            <summary>
+            Construct a TableMap instance for an unspecified table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetFieldMapFromColumn(System.String)">
+            <summary>
+            Obtain a <see cref="T:Gentle.Framework.FieldMap"/> instance for the given column name.
+            </summary>
+            <param name="columnName">The name of the column</param>
+            <returns>The FieldMap of the column</returns>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetForeignKeyFieldMap(System.String,System.String)">
+            <summary>
+            Obtain the name of the column in in this table pointing to the given column 
+            and table. This is used to map foreign key relations and allows the referencing
+            column to use any name.
+            </summary>
+            <param name="tableName">The foreign table name</param>
+            <param name="columnName">The foreign column name</param>
+            <returns>The name of the local foreign key column referencing the given table column</returns>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetForeignKeyMappings(Gentle.Framework.TableMap,System.Boolean)">
+            <summary>
+            Obtain a list of <see cref="T:Gentle.Framework.FieldMap"/> instances that represent foreign key
+            references to fields on the supplied parent object.
+            </summary>
+            <param name="parentMap">The map of the type the foreign key fields should reference
+            if they are to be included in the result.</param>
+            <param name="isPrimaryKeysOnly">True if only foreign keys pointing to primary keys
+            should be included, false to include all foreign key references.</param>
+            <returns>A list of FieldMap instances or an empty list id no fields matched.</returns>
+        </member>
+        <member name="M:Gentle.Framework.TableMap.GetColumnType(System.String)">
+            <summary>
+            Obtain the system type of a given column name.
+            </summary>
+            <param name="columnName">The name of the column</param>
+            <returns>The system type of the corresponding property</returns>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.PrimaryKeyCount">
+            <summary>
+            Obtain the number of primary key properties/columns used by this type.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.Fields">
+            <summary>
+            The list of fields found for the type represented.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.IdentityMap">
+            <summary>
+            The name of the column whose value is autogenerated on insert or null if no such column.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.TableName">
+            <summary>
+            The table name to which objects are mapped.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.QuotedTableName">
+            <summary>
+            The table name (quoted only if reserved word) to which objects are mapped.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.Provider">
+            <summary>
+            The Gentle provider from which this map was obtained.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.TableId">
+            <summary>
+            Internally used value to reference the table while analyzing the database.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.TableMap.IsView">
+            <summary>
+            Internally used value to tell whether this TableMap represents a view or a table.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ConstructorMap.AnySet(System.Collections.BitArray)">
+            <summary>
+            Test whether at least one bit is set in the array. Replaces the old "long != 0" check.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ConstructorMap.AllUnset(System.Collections.BitArray)">
+            <summary>
+            Test whether no bits are set in the array. Replaces the old "long == 0" check.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ConstructorMap.GetRowHashKey(System.Object[])">
+            <summary>
+            Construct a unique string a 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectConstructor.DetermineConstructor(System.String[],System.Object[])">
+            <summary>
+            Method to scan for and determine the least expensive constructor for a given array of 
+            column names. 
+            </summary>
+            <param name="columnNames">The column names of the result set</param>
+            <param name="row">A sample row used to determine if type conversion is needed</param>
+            <returns>A hash which can be used as constructor selector subsequently or 0 if no
+            valid constructor could be found for the given columns.</returns>
+        </member>
+        <member name="T:Gentle.Framework.ObjectFactory">
+            <summary>
+            This class handles contructon of objects (created from SqlResult objects).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.ConstructMap(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Process the given type and construct the corresponding ObjectMap instance.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for obtaining metadata on the type. If
+            null is passed the DefaultProvider will be used.</param>
+            <param name="type">The type to process.</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetMap(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Process the given type and construct the corresponding ObjectMap instance. If the
+            map has been created previously a cached instance is returned.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for obtaining metadata on the type. If
+            null is passed the DefaultProvider will be used.</param>
+            <param name="type">The type to process</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetMap(Gentle.Framework.PersistenceBroker,System.Object)">
+            <summary>
+            Process the given object's type and construct the corresponding ObjectMap instance. If the
+            map has been created previously a cached instance is returned.
+            </summary>
+            <param name="broker">The PersistenceBroker to use for obtaining metadata on the type. If
+            null is passed the DefaultProvider will be used.</param>
+            <param name="obj">The instance to process</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetMap(System.String)">
+            <summary>
+            Retrieve the ObjectMap for the type persisted to the specified table name. The map
+            must have been created previously or null will be returned. If multiple types map
+            to the same table, the first match is returned.
+            </summary>
+            <param name="tableName">The table name identifying the type</param>
+            <returns>An ObjectMap instance describing the type</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetInstance(System.Type,Gentle.Framework.SqlResult,Gentle.Framework.Key)">
+            <summary>
+            Construct an instance of the given type using data from the first row of the
+            supplied SqlResult instance. 
+            Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <param name="key">Additional fields not available in the result set (e.g. primary key fields)</param>
+            <returns>An instance of the given type</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.LoadType(System.String)">
+            <summary>
+            Load the type specified using its fully qualified name (its AssemblyQualifiedName property).
+            </summary>
+            <param name="assemblyQualifiedName">The fully qualified type name. This is a string consisting of
+            up to 4 items: type name, assembly name, culture, public key token (strong named assemblies only).</param>
+            <returns>A reference to the specified type. If an error occurs loading the type and exception
+            will be raised.</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetInstance(System.Type,Gentle.Framework.SqlResult)">
+            <summary>
+            Construct an instance of the given type using data from the first row of the
+            supplied SqlResult instance. 
+            Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <returns>An instance of the given type</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetCollection(System.Type,Gentle.Framework.SqlResult)">
+            <summary>
+            Construct multiple objects of a given type from the data contained in the given SqlResult
+            object. Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <returns>An IList holding the created objects</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.GetCollection(System.Type,Gentle.Framework.SqlResult,System.Collections.IList)">
+            <summary>
+            Construct multiple objects of a given type from the data contained in the given SqlResult
+            object. Refer to the Construct method of the <see cref="T:Gentle.Framework.ObjectMap"/> class for details.
+            </summary>
+            <param name="type">The type of object to construct</param>
+            <param name="sr">The SqlResult instance holding the data</param>
+            <param name="result">An optional existing container in which to store the created objects. If
+            this parameter is null a new IList instance will be created.</param>
+            <returns>An IList holding the created objects</returns>
+            <exception cref="T:Gentle.Common.GentleException"> will be raised if no object could be created</exception>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.MakeGenericList``1">
+            <summary>
+            Produce an empty generic list of the specified argument type
+            </summary>
+            <typeparam name="T">The entity type to be stored in the list</typeparam>
+            <returns>A generic list instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.MakeGenericList(System.Type)">
+            <summary>
+            Produce an empty generic list of the specified argument type
+            </summary>
+            <param name="entityType">The entity type to be stored in the list</param>
+            <returns>A generic list instance cast to IList</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.IsTypeSupported(System.Type)">
+            <summary>
+            Checks whether the given type is supported by the Gentle.NET framework. This method
+            merely verifies the presence of the TableNameAttribute attribute on the class.
+            </summary>
+            <param name="type">The type to check</param>
+            <returns>True if the type has the TableNameAttribute attribute</returns>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.RegisterType(Gentle.Framework.PersistenceBroker,System.Type)">
+            <summary>
+            Register a single type. Calling this method makes Gentle create an ObjectMap
+            for the given type. 
+            If schema data is needed the supplied <see cref="T:Gentle.Framework.PersistenceBroker"/>
+            instance will be used. This method will silently ignore unsupported types and is
+            therefore safe to call with any type.
+            </summary>
+            <param name="broker">The <see cref="T:Gentle.Framework.PersistenceBroker"/> instance used to obtain
+            metadata from the database schema.</param>
+            <param name="type">The type for which to create an ObjectMap.</param>
+        </member>
+        <member name="M:Gentle.Framework.ObjectFactory.RegisterAssembly(Gentle.Framework.PersistenceBroker,System.Reflection.Assembly)">
+            <summary>
+            Register multiple types. Calling this method makes Gentle create an ObjectMap 
+            for all supported types in the assembly.
+            If schema data is needed the supplied <see cref="T:Gentle.Framework.PersistenceBroker"/>
+            instance will be used.
+            </summary>
+            <param name="broker">The <see cref="T:Gentle.Framework.PersistenceBroker"/> instance used to obtain
+            metadata from the database schema.</param>
+            <param name="assembly">The assembly whose types should be registered.</param>
+        </member>
+        <member name="T:Gentle.Framework.ValidationBroker">
+            <summary>
+            Singleton used to perform validations on an object.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationBroker.Validate(System.Object)">
+            <summary>
+            Provides a static interface to perform validations on an object.
+            </summary>
+            <param name="obj">The object instance being operated on</param>
+        </member>
+        <member name="T:Gentle.Framework.NullOption">
+            <summary>
+            Enumeration to indicate if a field should use the types MinValue or MaxValue
+            as the NULL translation value. This is useful for DateTime and Decimal fields,
+            where it is not possible to use the actual value in the TableColumn attribute
+            declaration. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.NullOption.MinValue">
+            <summary>
+            &lt;type&gt;.MinValue will be stored as NULL, and NULL will be read as &lt;type&gt;.MinValue.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.NullOption.MaxValue">
+            <summary>
+            &lt;type&gt;.MaxValue will be stored as NULL, and NULL will be read as &lt;type&gt;.MaxValue.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.NullOption.Zero">
+            <summary>
+            0 (or the equivalent for other numeric types) will be stored as NULL, and NULL will be read as 0.
+            </summary> This value can only be used with numeric types (such as decimal).
+        </member>
+        <member name="F:Gentle.Framework.NullOption.EmptyGuid">
+            <summary>
+            Guid.Empty will be stored as NULL, and NULL will be read as Guid.Empty. This value can only be
+            used with Guid fields.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.StatementType">
+            <summary>
+            Enumeration of the possible supported statement types.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Unknown">
+            <summary>
+            This setting is used when the statement type has not been defined or is unknown. When
+            executing queries of unknown type, the framework assumes a select-type statement is
+            being executed (i.e. it will use an ExecuteReader to perform the request).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Select">
+            <summary>
+            This identifies statements executed using the ExecuteReader method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Count">
+            <summary>
+            This identifies statements executed using the ExecuteScalar method. No fields will
+            be selected. The result set will contain a single numeric row-count value.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Identity">
+            <summary>
+            This identifies statements executed using the ExecuteScalar method. No fields will
+            be selected. Use the LastRowId property on the SqlResult to obtain the selected value.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Insert">
+            <summary>
+            This identifies statements executed using either the ExecuteScalar (for
+            autogenerated columns) or ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Update">
+            <summary>
+            This identifies statements executed using the ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.Delete">
+            <summary>
+            This identifies statements executed using the ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.StatementType.SoftDelete">
+            <summary>
+            This identifies statements executed using the ExecuteNonQuery method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleSettings">
+            <summary>
+            Placeholder class for Gentle.NET global configuration settings
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.ConcurrencyControl">
+            <summary>
+            Option to control whether Gentle should generate SQL for concurrency control. When
+            set to false, all columns carrying the ConcurrencyColumn will be ignored in query
+            generation.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.MasterDefinition">
+            <summary>
+            Option to control what the primary metadata source is for Gentle. Note that when
+            the database analyzer is enabled, information obtained from schema data is assumed
+            to be correct and thus always takes precedence.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.AnalyzerSilent">
+            <summary>
+            Option to control whether the database analyzer should report an error for
+            unused columns. The default is to ignore any such unmapped columns.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.AnalyzerLevel">
+            <summary>
+            Option to control the operation of the database analyzer. When set to None the
+            database anaylzer will be disabled (all metadata must be provided from other
+            sources, such as attributes). When set to OnDemand, reverse engineering occurs
+            once for every type (on first access for that type). When set to Full the entire 
+            database is analyzed (on first access) in one operation. Full is the recommended
+            option, but can lead to longer startup times (est. 1-10 seconds, depending on the
+            amount of tables involved).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultCacheStrategy">
+            <summary>
+            The setting controls the default cache strategy used by Gentle. Please 
+            <see cref="T:Gentle.Common.CacheStrategy"/> for information on the possible values.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.CacheStatements">
+            <summary>
+            This setting controls whether statements are cached by Gentle. The default is
+            to cache CRUD statements only. You can manually cache your own statements by
+            using the <see cref="M:Gentle.Framework.PersistenceBroker.RegisterStatement(System.String,Gentle.Framework.SqlStatement)"/> method (and
+            retrieve cached statements using the 
+            <see cref="M:Gentle.Framework.PersistenceBroker.GetRegisteredStatement(System.String)"/> method.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.CacheObjects">
+            <summary>
+            This setting controls whether objects are cached by Gentle. When object caching
+            is enabled, Gentle will filter query results and return the cached instance
+            when available. The default is not to cache objects.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.SkipQueryExecution">
+            <summary>
+            This setting controls whether Gentle may skip query execution and return results
+            composed of cached data. When true, Gentle maintains links between queries and
+            associated result sets, and will only skip query execution if all objects from
+            the previous execution are still available.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleSettings.UniqingScope">
+            <summary>
+            This setting controls the scope within which objects are uniqued. Consult <see 
+            cref="P:Gentle.Framework.GentleSettings.UniqingScope"/> for details on the available options.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultProviderName">
+            <summary>
+            The name of the default provider used by the Broker class.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultProviderConnectionString">
+            <summary>
+            The connection string used by the default provider.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSettings.DefaultCommandTimeout">
+            <summary>
+            The default timeout value in seconds for connections created by Gentle.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSettings.SetLogStatus(Gentle.Common.LogCategories,System.Boolean)">
+            <summary>
+            The connection string used by the default provider.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSettings.GetScopeDelimiter(System.String)">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            supplied id is used instead of the normal scope delimitor (this
+            is useful if you wish to clear the cache for another thread or
+            web session than your own).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSettings.GetScopeDelimiter">
+            <summary>
+            Get the scope delimiter used to group entries in the cache. The
+            returned value is valid for this thread or web session only.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.MasterDefinition">
+            <summary>
+            This enumeration is used to control which source of information is to be considered
+            the master definition. This setting is only partially used at the moment. 
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.MasterDefinition.Attributes">
+            <summary>
+            With this setting the mapping structures are defined using attributes. The definitions
+            are verified against the database in accordance with the AnalyzerLevel setting.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.MasterDefinition.XML">
+            <summary>
+            With this setting the mapping structures are defined using definitions from XML files.
+            This feature is not yet supported.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.MasterDefinition.Database">
+            <summary>
+            With this setting the mapping structures are defined by analyzing the database tables.
+            This feature is not yet supported.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.NamespaceProviders">
+            <summary>
+            Helper class for retrieval of namespaced providers.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IEntity">
+            <summary>
+            This interface specifies methods that objects must implement in order for the
+            persistence framework to accept them. 
+            
+            Additionally, it specified convenience methods that allows clients to call the
+            persistence methods directly on the object, rather than using the PersistenceBroker 
+            directly.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IEntity.GetKey">
+            <summary>
+            The Key property is a Hashtable of key/value pairs that specify the selection 
+            criteria unique to the current object instance. The Key usually corresponds
+            to the primary keys of the row holding the object.
+            </summary>
+            <returns>The unique Key of the current instance. The generated key should
+            contain property values.</returns>
+        </member>
+        <member name="P:Gentle.Framework.IEntity.IsPersisted">
+            <summary>
+            True if the current instance has been persisted to the database.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IBrokerLock">
+            <summary>
+            Interface for classes that need to be locked to a specific 
+            PersistenceBroker instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IBrokerLock.SessionBroker">
+            <summary>
+            The session broker provides a lock to the database engine. This is
+            useful when connecting to multiple databases in a single application.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.AnalyzerLevel">
+            <summary>
+            This enumeration is used to control the level of database analysis performed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.AnalyzerLevel.None">
+            <summary>
+            With this setting no database analysis will be performed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.AnalyzerLevel.OnDemand">
+            <summary>
+            With this setting only tables with a corresponding object will be analyzed.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.AnalyzerLevel.Full">
+            <summary>
+            With this setting all available tables will be analyzed.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IDatabaseAnalyzer">
+            <summary>
+            This interface describes the methods which must be supported by a specific
+            analyzer for a persistence engine. The analyzers are used to obtain column
+            type, size and constraint information directly from the database
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IDatabaseAnalyzer.TableMaps">
+            <summary>
+            This property is a Hashtable of TableMap instances containing metadata on
+            tables obtained from the database. Client programs can iterate through this
+            list and use the TableMap instances to generate Gentle business objects (be
+            sure to set the AnalyzerLevel to Full in the configuration file if used for
+            this purpose).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IDatabaseAnalyzer.Analyze(System.String)">
+            <summary>
+            This method obtains metadata by analyzing the database. If no table name
+            is specified all available tables will be processed.
+            </summary>
+            <param name="tableName">The table name to analyze or null for all tables</param>
+        </member>
+        <member name="M:Gentle.Framework.IDatabaseAnalyzer.UpdateObjectMap(Gentle.Framework.ObjectMap)">
+            <summary>
+            This method updated the given ObjectMap instance with metadata obtained
+            from the database.
+            </summary>
+            <param name="map">The ObjectMap to update</param>
+        </member>
+        <member name="T:Gentle.Framework.IGentleProvider">
+            <summary>
+            The high-level interface to implement when creating a new provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.Name">
+            <summary>
+            Returns a unique name for this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.ConnectionString">
+            <summary>
+            Returns the connection string used by this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.SchemaName">
+            <summary>
+            Returns the schema name (if any) used by this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.ProviderInformation">
+            <summary>
+            Returns information about the actual data provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.Broker">
+            <summary>
+            Returns the PersistenceBroker instance for this provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IGentleProvider.IdentityHash">
+            <summary>
+            Returns the cache key of the current instance.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IGentleProvider.GetSqlFactory">
+            <summary>
+            Obtain an SQL factory for constructing SQL statements.
+            </summary>
+            <returns>The factory for SQL construction</returns>
+        </member>
+        <member name="M:Gentle.Framework.IGentleProvider.GetRenderer">
+            <summary>
+            Obtain an SQL renderer for constructing formatted SQL from SqlQuery objects.
+            </summary>
+            <returns>The SQL renderer for this database</returns>
+        </member>
+        <member name="M:Gentle.Framework.IGentleProvider.GetAnalyzer">
+            <summary>
+            Obtain an instance of the database backend analyzer. Used internally while constructing
+            the initial ObjectMap instances for mapping types to the database.
+            </summary>
+            <returns>The factory for SQL construction</returns>
+        </member>
+        <member name="T:Gentle.Framework.IPersistenceEngine">
+            <summary>
+            The interface to implement in order to support a specific persistence engine,
+            i.e. a specific vendors RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.ExecuteStatement(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute an SQL statement and produce a corresponding result set (even when no rows are returned).
+            </summary>
+            <param name="stmt">The statement object to execute</param>
+            <returns>The result set produced</returns>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.GetCommand">
+            <summary>
+            Obtain a command instance.
+            </summary>
+            <returns>The database command object</returns>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.GetConnection">
+            <summary>
+            Obtain a connection to the persistence engine. The returned connection should be open.
+            </summary>
+            <returns>The database connection</returns>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.CacheStatement(System.Type,Gentle.Framework.StatementType,Gentle.Framework.SqlStatement)">
+            <summary>
+            Cache a CRUD-type statement for the given type.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistenceEngine.GetStatement(System.Type,System.String,Gentle.Framework.StatementType)">
+            <summary>
+            Retrieve a cached CRUD-type statement for the given type.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IPersistent">
+            <summary>
+            This interface specifies methods that objects must implement in order for the
+            persistence framework to accept them. 
+            
+            Additionally, it specified convenience methods that allows clients to call the
+            persistence methods directly on the object, rather than using the PersistenceBroker 
+            directly.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistent.Persist">
+            <summary>
+            Insert or update the current object instanse.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistent.Remove">
+            <summary>
+            Delete the current object instanse. 
+            Note: This does not destroy or invalide the current object instance.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.IPersistent.Refresh">
+            <summary>
+            Select the current object instance and initialize all properties/fields with
+            the values of the retrieved data. This method can be used in place of static
+            constructors in implementations of IPersistant as it allows constructors to
+            merely take a Key parameter (and then call this method to initialize all fields).
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.IProviderInformation">
+            <summary>
+            Provides a standard structure to important information gathered from the actual provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IProviderInformation.Name">
+            <summary>
+            Gets the name of the provider, as defined by the actual provider.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.IProviderInformation.Version">
+            <summary>
+            Gets the version of the provider, as defined by the actual provider.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.ITableName">
+            <summary>
+            This interface is for classes than need to dynamically map to multiple tables.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ITableName.TableName">
+            <summary>
+            Returns the name of the table with which the current object instance is
+            associated for all database operations performed on it.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.NamespaceDoc">
+            <summary>
+            <p>The <see cref="N:Gentle.Framework"/> namespace contains the persistence framework.</p><br/>
+            <list type="bullet">
+              <item>
+                <description>The main access point into the framework functionality is provided 
+            	  by the <see cref="T:Gentle.Framework.PersistenceBroker"/> class. The <see cref="T:Gentle.Framework.Broker"/> class
+            	  allows you to use a default PersistenceBroker instance (using the provider and
+            	  connection information specified using the DefaultProvider config setting).</description></item>
+              <item>
+                <description>
+                  <para>To create persistable business objects decorate the class using the
+                    <see cref="T:Gentle.Framework.TableNameAttribute"/> attribute and all persistent properties using the 
+                    <see cref="T:Gentle.Framework.TableColumnAttribute"/> attribute.</para>
+                  <para>Depending on how much metadata Gentle is able to obtain from the database, you may
+                    need to decorate primary and foreign keys with the <see cref="T:Gentle.Framework.PrimaryKeyAttribute"/> and 
+                    <see cref="T:Gentle.Framework.ForeignKeyAttribute"/> attributes respectively.</para> 
+                  <para>Business objects may optionally inherit from the <see cref="T:Gentle.Framework.Persistent"/> class (or implement
+                    the <see cref="T:Gentle.Framework.IPersistent"/> interface) and gain additional features, such as a set of convenient 
+                    access methods. It is also possible to use the framework without using these.</para>
+                  <para>A returning issue with object to database mapping is handling of null values. If
+                    a value type property (such as an int or bool) maps to a column that allows null
+                    values, use the NullValue property of the TableColumn attribute to specify the
+                    value that will be assigned to properties on read and converted into null on 
+                    insert.</para></description></item>
+              <item>
+                <description>     
+                  <para>To execute custom SQL statements use the <see cref="T:Gentle.Framework.SqlStatement"/> class. Use the 
+                    <see cref="T:Gentle.Framework.SqlBuilder"/> class to construct instances of this class whenever the statement
+                    is for a supported type (i.e. a class decorated with the proper attributes).</para>
+                  <para>Query results (when executed directly) are always packaged in the <see cref="T:Gentle.Framework.SqlResult"/> 
+                    class, which holds any returned rows and has useful properties (such as standardized 
+                    return codes). The RetrieveInstance and RetriveList methods allow you to bypass the 
+                    result and have Gentle create objects automatically.</para>
+                  <para>Multiple statements (including non-SQL commands) can be transacted (grouped) using the 
+                    <see cref="T:Gentle.Framework.Transaction"/> class.</para></description>
+              </item>
+            </list>
+            <br/>
+            <p>The source code of the Gentle.Framework project is organized as follows:</p>
+            <list type="table">
+              <listheader>
+                <term>Folder</term>
+                <description>Description</description></listheader>
+              <item>
+                <term>Attributes</term>
+                <description>All attributes defined by Gentle with which you can decorate your objects
+                and thus gain use of the provided functionality.</description></item>
+              <item>
+                <term>Client</term>
+                <description>All classes relevant to clients of the framework, that is, readers of 
+                this document.</description></item>
+              <item>
+                <term>Core</term>
+                <description>The core functionality of the framework. Some of these are also of
+                  interest to clients/users.</description></item>
+              <item>
+                <term>General</term>
+                <description>Helper classes for various purposes, such as config file handling, 
+                error reporting, etc.</description></item>
+              <item>  
+                <term>Interfaces</term>
+                <description>Interfaces used internally by Gentle.</description></item>
+              <item>  
+                <term>Provider</term>
+                <description>Base classes to use when implementing support for a database provider.</description></item>
+              <item>  
+                <term>Query</term>
+                <description>Classes used when constructing custom SQL queries in a database-independent way.
+                Note that classes in this folder is currently work in progress.</description></item>
+            </list>
+            <p>Enjoy! :-)</p>
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleAnalyzer">
+            <summary>
+            Base class for all database analyzers.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Constructor for the GentleAnalyzer base class.
+            </summary>
+            <param name="provider"></param>
+        </member>
+        <member name="P:Gentle.Framework.GentleAnalyzer.AnalyzerCapability">
+            <summary>
+            This property should be defined in subclasses to indicate which information fields
+            the Analyzer class is able to obtain. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.HasCapability(Gentle.Framework.ColumnInformation)">
+            <summary>
+            Use this method to check if the provider supports obtaining the specified information.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleAnalyzer.Level">
+            <summary>
+            Use this method to get or set the analyzer level used. Note that changing this setting too
+            late it might have no effect (if tables have already been analyzed).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleAnalyzer.TableMaps">
+            <summary>
+            This property is a Hashtable of TableMap instances containing metadata on
+            tables obtained from the database. Client programs can iterate through this
+            list and use the TableMap instances to generate Gentle business objects (be
+            sure to set the AnalyzerLevel to Full in the configuration file if used for
+            this purpose).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.GetTableMap(System.String)">
+            <summary>
+            Get an existing TableMap from the underlying store of the TableMaps property. This 
+            method ensures that tables are looked up case insensitively and without triggering
+            any database scanning (which could otherwise lead to loops).
+            </summary>
+            <param name="tableName">The name of the table whose map to retrieve.</param>
+            <returns>The corresponding TableMap instance or null if none was found.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.Analyze(System.String)">
+            <summary>
+            This method obtains metadata by analyzing the database. If no table name
+            is specified all available tables will be processed.
+            </summary>
+            <param name="tableName">The table name to analyze or null for all tables</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleAnalyzer.UpdateObjectMap(Gentle.Framework.ObjectMap)">
+            <summary>
+            This method updated the given ObjectMap instance with metadata obtained
+            from the database.
+            </summary>
+            <param name="map">The ObjectMap to update</param>
+        </member>
+        <member name="T:Gentle.Framework.GentleProvider">
+            <summary>
+            This class implements some common methods for RDBMS backends (as defined by 
+            the <see cref="T:Gentle.Framework.IGentleProvider"/> interface).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.connectionString">
+            <summary>
+            This field stores the connection string for connecting to the database engine.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.providerName">
+            <summary>
+            This field stores the name identifying this provider.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.schemaName">
+            <summary>
+            This field stores the schema name used with this provider (if any).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.broker">
+            <summary>
+            This field stores the PersistenceBroker used with this provider.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleProvider.stmtByType">
+            <summary>
+            Hashtable of Type-indexed hashtables of StatementType-indexed statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.#ctor(System.String,System.String)">
+            <summary>
+            This base constructor ensures that descendant must specify a connection string
+            when new instances are created.
+            </summary>
+            <param name="providerName">The name identifying the provider used</param>
+            <param name="connectionString">The connection string used to connect to the database</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.#ctor(System.String,System.String,System.String)">
+            <summary>
+            This base constructor ensures that descendant must specify a connection string
+            when new instances are created.
+            </summary>
+            <param name="providerName">The name identifying the provider used</param>
+            <param name="connectionString">The connection string used to connect to the database</param>
+            <param name="schemaName">The schema name used for queries made using this provider</param>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.Name">
+            <summary>
+            Returns the name of this provider (the name identifies the type of database backend 
+            the provider can connect to).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.ConnectionString">
+            <summary>
+            Returns the connection string used by this provider instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.SchemaName">
+            <summary>
+            Returns the schema name used by this provider instance, or null if no schema name is used.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.IdentityHash">
+            <summary>
+            Returns the cache key of the current instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.Broker">
+            <summary>
+            Returns the connection string used by this provider instance.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleProvider.ProviderInformation">
+            <summary>
+            Override to provide information about the actual provider.
+            Base implementation returns null.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetSqlFactory">
+            <summary>
+            Abstract method declaration to obtain an <see cref="T:Gentle.Framework.GentleSqlFactory"/> that
+            encapsulated the RDBMS specifics for generating SQL statements.
+            </summary>
+            <returns>An GentleSqlFactory instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetAnalyzer">
+            <summary>
+            Abstract method declaration to obtain a new database analyzer instance.
+            </summary>
+            <returns>The new database analyzer</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetRenderer">
+            <summary>
+            Obtain an SQL renderer for constructing formatted SQL from SqlQuery objects.
+            </summary>
+            <returns>The SQL renderer for this database</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetConnection">
+            <summary>
+            Abstract method declaration to obtain a new database connection.
+            </summary>
+            <returns>The new database connection</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetCommand">
+            <summary>
+            Abstract method declaration to obtain a new <see cref="T:System.Data.IDbCommand"/> object.
+            </summary>
+            <returns>The command object</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.ExecuteStatement(Gentle.Framework.SqlStatement)">
+            <summary>
+            Execute the <see cref="T:Gentle.Framework.SqlStatement"/> by providing it with a connection
+            to the SQL engine.
+            </summary>
+            <param name="stmt">The SqlStatement instance</param>
+            <returns>The result of the statement</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.CacheStatement(System.Type,Gentle.Framework.StatementType,Gentle.Framework.SqlStatement)">
+            <summary>
+            Add the specified statement to the statement cache.
+            </summary>
+            <param name="type">The business object with which to associate the statement</param>
+            <param name="stmtType">The type of the SQL statement</param>
+            <param name="stmt">The statement instance to cache</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.GetStatement(System.Type,System.String,Gentle.Framework.StatementType)">
+            <summary>
+            Retrieve a statement from the cache. If the statement is not present it will be generated
+            and added to the cache.
+            </summary>
+            <param name="type">The business object with which the statement is associated</param>
+            <param name="tableName">The table used in the statement</param>
+            <param name="stmtType">The type of the SQL statement</param>
+            <returns>An SqlStatement instance</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleProvider.ClearCache">
+            <summary>
+            Clear the statement cache.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Capability.BatchQuery">
+            <summary>
+            This capability signifies that the database backend supports executing 
+            multiple SQL statements in one batch. When this capability is not present
+            Gentle will perform two queries for insert operations on tables with 
+            autogenerated primary keys (one to perform the insert and one for 
+            retrieving the generated key).
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Capability.Paging">
+            <summary>
+            This capability signifies that the database backend supports paging of
+            result sets, i.e. that SQL can be generated to retrieve only a certain
+            set of rows.
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.Capability.NamedParameters">
+            <summary>
+            This capability signifies that the data provider supports named parameters.
+            If not supported, positional parameters will be used instead.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.GentleSqlFactory">
+            <summary>
+            <p>The base class for all SQL factory implementations. Default implementations are provided
+            for some of the methods.</p>
+            <p>Inherit from this class when adding support for a new RDBMS.</p>
+            </summary>
+        </member>
+        <member name="F:Gentle.Framework.GentleSqlFactory.provider">
+            <summary>
+            The provider for which this factory is generating SQL.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.#ctor(Gentle.Framework.IGentleProvider)">
+            <summary>
+            Construct a new GentleSqlFactory instance.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetCommand">
+            <summary>
+            Shortcut method for obtaining an IDbCommand instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetDbType(System.Type)">
+            <summary>
+            Obtain the integer value of the database type corresponding to the given system type.
+            The value returned must be castable to a valid type (enum value) for the current 
+            persistence engine. This method is called to translate property types to database
+            types when one has not been explicitly defined by the user or read from the database.
+            </summary>
+            <param name="type">The system type</param>
+            <returns>The corresponding database type</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetSystemType(System.Int64)">
+            <summary>
+            This method should return the system type corresponding to the database specific type
+            indicated by the long. The default implementation will throw an exception.
+            </summary>
+            <param name="dbType">The provider specific database type enum value.</param>
+            <returns>The closest matching system type.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetDefaultNullValue(System.Type)">
+            <summary>
+            Obtain the default NullValue to use with the TableColumn attribute for columns mapping
+            to a system type that does not allow null assignment. This method is intended for use
+            by code generators.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            This default implementation simply returns the string given.
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="P:Gentle.Framework.GentleSqlFactory.MinimumSupportedDateTime">
+            <summary>
+            Returns the minimum supported DateTime value. This is a generic method
+            returning the arbitrarily chosen value of 1/1/1800.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.GentleSqlFactory.MaximumSupportedDateTime">
+            <summary>
+            Returns the maximum supported DateTime value. This is a generic method
+            returning the arbitrarily chosen value of 1/1/3000.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetParameterPrefix">
+            <summary>
+            Obtain the character or string used to prefix parameters.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetParameterSuffix">
+            <summary>
+            Obtain the character or string used to suffix parameters.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetParameterCollectionKey(System.String)">
+            <summary>
+            Obtain the name to use for name-based indexing into the IDbCommand.Parameters
+            collections. Most databases omit the parameter prefix, whereas some require it
+            to be present (e.g. SQLite).
+            </summary>
+            <param name="paramName">The parameter name without quoting or prefix/suffix.</param>
+            <returns>The name to use when accessing the IDbCommand.Parameters hashtable.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetStatementTerminator">
+            <summary>
+            Obtain the character or string used to terminate or delimit statements.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="P:Gentle.Framework.GentleSqlFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities. The default is
+            to support all capabilities. See <see cref="T:Gentle.Framework.Capability"/> for details on the 
+            available capabilities.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.HasCapability(Gentle.Framework.Capability)">
+            <summary>
+            Call this method to check for the availability of a certain capability or
+            combined set of capabilities (which must all be present).
+            </summary>
+            <param name="dc">The capability to check for.</param>
+            <returns>True if the database supports the capability.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetOperatorBegin(Gentle.Framework.Operator,System.Boolean)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string between the column name and the parameter value.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <param name="isValueNull">This parameter indicates whether the value of the parameter is null. This
+            is required because different operators must be used for null equality checls.</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetOperatorEnd(Gentle.Framework.Operator)">
+            <summary>
+            Produce the actual SQL string for the specified <see cref="T:Gentle.Framework.Operator"/>. This is the part
+            of the SQL string after the parameter value. This string is usually empty.
+            </summary>
+            <param name="op">The operator to convert to SQL</param>
+            <returns>The SQL string for the specified operator</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetQuoteCharacter">
+            <summary>
+            Obtain the character used to delimit string parameters.
+            </summary>
+            <returns>The quote character.</returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Get the statement for retrieving last inserted row id for auto-generated id columns
+            </summary>
+            <param name="sql"></param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns></returns>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.AddParameter(System.Data.IDbCommand,System.String,System.Type)">
+            <summary>
+            Add an SQL parameter to the given IDbCommand object.
+            </summary>
+            <param name="cmd">The IDbCommand object to operate on.</param>
+            <param name="name">The name of the parameter.</param>
+            <param name="type">The system type of the paramater.</param>
+        </member>
+        <member name="M:Gentle.Framework.GentleSqlFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Add an SQL parameter to the given IDbCommand object.
+            </summary>
+            <param name="cmd">The IDbCommand object to operate on.</param>
+            <param name="name">The name of the parameter.</param>
+            <param name="dbType">The long value of the provider specific database type enum (e.g. DbType)</param>
+        </member>
+        <member name="T:Gentle.Framework.IValidationPersistent">
+            <summary>
+            Interface for <see cref="T:Gentle.Framework.Persistent"/> objects that want to implement validations.
+            </summary>
+        </member>
+        <member name="T:Gentle.Framework.RangeValidatorAttribute">
+            <summary>
+            Validates if the given property is between the range values specifed.
+            If the member value being validated matches any of the two values it will pass 
+            validation (note: Gentle 1.2.5 and earlier did not consider this valid).
+            If you pass in strings then these are assumed to contain dates formatted using 
+            invariant culture. If either Min or Max is not specified the range is considered 
+            to be open-ended and validation only occurs against the specified value. A null
+            value never passes validation.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RangeValidatorAttribute.Min">
+            <summary>
+            The minimum permitted value (inclusive). 
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RangeValidatorAttribute.Max">
+            <summary>
+            The maximum permitted value (inclusive).
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RangeValidatorAttribute.#ctor">
+            <summary>
+            The default constructor for the <see cref="T:Gentle.Framework.RangeValidatorAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RangeValidatorAttribute.#ctor(System.Object,System.Object)">
+            <summary>
+            Constructor for the <see cref="T:Gentle.Framework.RangeValidatorAttribute"/> class permitting you to
+            specify the minimum and maximum values permitted.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RangeValidatorAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            This method is invoked to perform the actual range validation on the given property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method returns true if the validation succeeds and false otherwise.</returns>
+        </member>
+        <member name="T:Gentle.Framework.RegexValidatorAttribute">
+            <summary>
+            Determines if the given property matches a regular expression. If a value is null then
+            it will always pass (note: you can use the <see cref="T:Gentle.Framework.RequiredValidatorAttribute"/> to 
+            ensure that a value is not null).
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RegexValidatorAttribute.Expression">
+            <summary>
+            The regular expression to validate against.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RegexValidatorAttribute.#ctor">
+            <summary>
+            The default constructor for the <see cref="T:Gentle.Framework.RegexValidatorAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RegexValidatorAttribute.#ctor(System.String)">
+            <summary>
+            Constructor for the <see cref="T:Gentle.Framework.RegexValidatorAttribute"/> class permitting you
+            to specify the regular expression to validate against.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RegexValidatorAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            This method is invoked to perform the actual range validation on the given property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method returns true if the validation succeeds and false otherwise.</returns>
+        </member>
+        <member name="T:Gentle.Framework.RequiredValidatorAttribute">
+            <summary>
+            Apply this attribute to members which must have a value assigned. This is mostly
+            useful with strings.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.RequiredValidatorAttribute.AllowNull">
+            <summary>
+            Set to <see langword="true"/> to allow a null value to pass validation.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.RequiredValidatorAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            This method is invoked to perform the actual range validation on the given property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method returns true if the validation succeeds and false otherwise.</returns>
+        </member>
+        <member name="T:Gentle.Framework.ValidationException">
+            <summary>
+            Strongly typed exception used for dealing with exceptions.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationException.#ctor">
+            <summary>
+            Default constructor.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationException.#ctor(Gentle.Common.Error,System.String)">
+            <summary>
+            Constructor taking an <see cref="T:Gentle.Common.Error"/> and a custom message to go with the error. 
+            The framework consistently uses the <see cref="T:Gentle.Common.Error"/> enumeration to classify 
+            raised exceptions.
+            </summary>
+            <param name="error">The Error condition leading to this exception</param>
+            <param name="msg">An additional message text</param>
+        </member>
+        <member name="T:Gentle.Framework.ValidationMessage">
+            <summary>
+            This class is used to convey information on validation failures.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidationMessage.Id">
+            <summary>
+            Id of the message, used for il8n.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidationMessage.Text">
+            <summary>
+            Text of the error message, used if il8n is a bit overkill for you.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationMessage.#ctor">
+            <summary>
+            Public constructor.
+            </summary>
+        </member>
+        <member name="M:Gentle.Framework.ValidationMessage.GetMessage(System.String,System.Object[])">
+            <summary>
+            Get the message string for the current culture.
+            </summary>
+            <param name="messageId">The message id to retrieve.</param>
+            <param name="args">Optional replacement values for a templated string.</param>
+            <returns>The string value of the message to return.</returns>
+        </member>
+        <member name="T:Gentle.Framework.ValidatorBaseAttribute">
+            <summary>
+            This is the base validator attribute, it provides a common interface 
+            for all custom validations.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.Message">
+            <summary>
+            Internal validation message object.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.MessageId">
+            <summary>
+            Optional message id to use for validations.  Provide this if you would prefer to use 
+            a resource bundle or some other means of looking up strings from an external source.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.MessageText">
+            <summary>
+            Message to provide the client/ user that explains what is incorrect about the value
+            they have entered.
+            </summary>
+        </member>
+        <member name="P:Gentle.Framework.ValidatorBaseAttribute.FailOnFirst">
+            <summary>
+            Indicate if the validation of an object should fail on the first failure or if the
+            entire object should be validated.
+            </summary>
+            <value>Default: <see langword="false"/></value>
+        </member>
+        <member name="M:Gentle.Framework.ValidatorBaseAttribute.Validate(System.String,System.Object,System.Object)">
+            <summary>
+            Override this method to add the code that performs validation on the property.
+            </summary>
+            <param name="propertyName">The name of the property being validated.</param>
+            <param name="propertyValue">The property value to validate.</param>
+            <param name="propertyOwner">The persistent object that holds the property being validated.</param>
+            <returns>This method should return true if the validation succeeds and false otherwise. The
+            default implementation always returns true.</returns>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.DB2/Gentle.Provider.DB2.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.DB2/Gentle.Provider.DB2.xml
new file mode 100644
index 0000000..f752865
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.DB2/Gentle.Provider.DB2.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.DB2</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.DB2.DB2Factory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the DB2 RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetDbType(System.Type)">
+            <summary>
+            Obtain the integer value of the database type corresponding to the given system type.
+            The value returned must be castable to a valid type for the current persistence engine.
+            </summary>
+            <param name="type">The system type.</param>
+            <returns>The corresponding database type.</returns>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Factory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.DB2.DB2Provider">
+            <summary>
+            This class is an implementation of the IPersistenceEngine interface for the DB2 RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.DB2.DB2Provider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.DB2.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.DB2"/> namespace contains the provider files for
+            supporting the IBM DB2 database backend.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Firebird/Gentle.Provider.Firebird.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Firebird/Gentle.Provider.Firebird.xml
new file mode 100644
index 0000000..f2936cf
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Firebird/Gentle.Provider.Firebird.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Firebird</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Firebird.FirebirdAnalyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an ObjectMap with as much information as is available.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the Firebird RDBMS.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords">
+            <summary>
+            Container	class	to test	for	existence	of reserved	words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords.#ctor">
+            <summary>
+            Create a new <see	cref="T:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords"/> instance	and	fill
+            internal <see	cref="T:System.Collections.Hashtable"/> with	reserved words for fast
+            retrieval.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords.IsReservedWord(System.String)">
+            	<summary>
+            	Determine	if the specified token is	a	reserved word	in the current
+            	implementation.	Works	case insensitive.
+            	</summary>
+            	<param name="Token">The	token	that should	be checked.</param>
+            	<returns><see	langword="true"/>	if the specified token is	a	reserved
+            	word,	<see langword="false"/>	if not.</returns>
+            	<example>
+            	The	following	call returns <see	langword="false"/>:
+            	<code>IsReservedWord("FIRSTNAME");</code>
+            	The	following	call returns <see	langword="true"/>:
+            	<code>IsReservedWord("VARCHAR");</code>
+            </example>
+        </member>
+        <member name="F:Gentle.Provider.Firebird.FirebirdFactory.ReservedWords.reservedWordsHashtable">
+            <summary>
+            <see cref="T:System.Collections.Hashtable"/>	containing all reserved	words	for	fast lookup.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.Firebird.FirebirdFactory.reservedWords">
+            <summary>
+            Static singleton instance	for	access to	reserved words collection.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities. The default is
+            to support all capabilities. See <see cref="T:Gentle.Framework.Capability"/> for details on the 
+            available capabilities.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables)
+            to the corresponding type enumeration value.
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method.
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            This default implementation simply returns the string given.
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdFactory.Schema">
+            <summary>
+            The current schema name or null if no schema.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <param name="word">The word that should be checked for.</param>
+            <returns><see langword="true"/> if the word is reserved.</returns>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted	version	of the reserved	word to	allow	the	reserved word	to be	
+            used in	queries	anyway.	If a reserved	word cannot	be quoted	this method	should
+            raise	an error informing the user	that they	need to	pick a different name.
+            </summary>
+            <returns>The given reserved	word or	field	quoted to	avoid	errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdProvider">
+            <summary>
+            This class is an implementation of the GentleProvider class for the Firebird RDBMS.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdProvider.ProviderInformation">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Firebird.FirebirdProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.FirebirdProviderInformation">
+            <summary>
+            The class encapsulates information about the underlying database provider,
+            as well as the logic to extract it.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdProviderInformation.Name">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Firebird.FirebirdProviderInformation.Version">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Firebird.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Firebird"/> namespace contains the provider files for
+            supporting the Firebird database backend. It should be useable with any InterBase
+            compatible database.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Jet/Gentle.Provider.Jet.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Jet/Gentle.Provider.Jet.xml
new file mode 100644
index 0000000..bc82e00
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Jet/Gentle.Provider.Jet.xml
@@ -0,0 +1,185 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Jet</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Jet.JetAnalyzer">
+            <summary>
+            This class is the schema analyzer for Jet/Access. Based on information gathered
+            and code snippets contributed by Roger Hendriks.
+            
+            Useful information concerning OLE schema analysis (additional links below):
+              http://support.microsoft.com/default.aspx/kb/309488/EN-US/?
+              http://support.microsoft.com/default.aspx?scid=kb;en-us;310107
+              http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbpart5_appendixes.asp
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetTables(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/en-us/oledb/htm/oledbtables_rowset.asp
+            Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE ("TABLE","VIEW")
+            Schema columns: TABLE_GUID, DESCRIPTION, TABLE_PROPID, DATE_CREATED, DATE_MODIFIED
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetColumns(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/en-us/oledb/htm/oledbcolumns_rowset.asp
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbtype_indicators.asp
+            Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
+            Schema columns: DATA_TYPE, ORDINAL_POSITION, COLUMN_HASDEFAULT, COLUMN_DEFAULT, 
+            	COLUMN_FLAGS, IS_NULLABLE, NUMERIC_PRECISION, NUMERIC_SCALE, 
+            	CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetPrimaryKeys(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/en-us/oledb/htm/oledbprimary_keys_rowset.asp
+            Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME
+            Schema columns: COLUMN_NAME, COLUMN_GUID, COLUMN_PROPID, ORDINAL, PK_NAME
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetPrimaryKeyInfo(System.String)">
+            <summary>
+            Fetch schema information on keys.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetForeignKeys(System.String)">
+            <summary>
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbtable_constraints_rowset.asp
+            Restriction columns: PK_TABLE_CATALOG, PK_TABLE_SCHEMA, PK_TABLE_NAME, 
+            FK_TABLE_CATALOG, FK_TABLE_SCHEMA, FK_TABLE_NAME
+            Schema columns: FK_COLUMN_NAME, FK_COLUMN_GUID, FK_COLUMN_PROPID, UPDATE_RULE,
+            DELETE_RULE, PK_NAME, FK_NAME, DEFERRABILITY 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Jet.JetAnalyzer.DBCOLUMNFLAGS">
+            <summary>
+            This enumeration represents the bitmask values of the COLUMN_FLAGS value used below.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetAnalyzer.GetColumnData(Gentle.Framework.TableMap)">
+            <summary>
+            This method fills the TableMap with information on table columns.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Jet.JetFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Microsoft Access (Jet) Database.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.Jet.JetFactory.reservedWords">
+            <summary>
+            This is the list of reserved words in MS Access. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetParameterSuffix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Jet.JetFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Access/Jet does not support Batch Command Processing, please refer to
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconRetrievingIdentityOrAutonumberValues.asp
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.Jet.JetEngine">
+            <summary>
+            This class is an implementation of the IPersistenceEngine interface for the 
+            Microsoft Jet Database Engine
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Jet.JetEngine.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Jet.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Jet"/> namespace contains the provider files for
+            supporting the MS Access (aka Jet) database backend. The driver used is OleDb.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.MySQL/Gentle.Provider.MySQL.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.MySQL/Gentle.Provider.MySQL.xml
new file mode 100644
index 0000000..67e88c9
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.MySQL/Gentle.Provider.MySQL.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.MySQL</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.MySQL.MySQLFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the MySQL RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetDbType(System.Type)">
+            <summary>
+            Obtain the integer value of the database type corresponding to the given system type.
+            The value returned must be castable to a valid type for the current persistence engine.
+            </summary>
+            <param name="type">The system type.</param>
+            <returns>The corresponding database type.</returns>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.MySQL.MySQLProvider">
+            <summary>
+            This class is an implementation of the IPersistenceEngine interface for the MySQL RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.MySQL.MySQLProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.MySQL.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.MySQL"/> namespace contains the provider files for
+            supporting the MySQL database backend.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Oracle/Gentle.Provider.Oracle.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Oracle/Gentle.Provider.Oracle.xml
new file mode 100644
index 0000000..a53892a
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Oracle/Gentle.Provider.Oracle.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Oracle</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Oracle.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Oracle"/> namespace contains the provider files for
+            supporting the Oracle database backend using the Microsoft provider library.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Oracle.OracleAnalyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an ObjectMap with as much information as is available.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Oracle.OracleFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Oracle RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetStatementTerminator">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Oracle.OracleFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.Oracle.OracleProvider">
+            <summary>
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Oracle.OracleProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.OracleODP/Gentle.Provider.OracleODP.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.OracleODP/Gentle.Provider.OracleODP.xml
new file mode 100644
index 0000000..0903a55
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.OracleODP/Gentle.Provider.OracleODP.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.OracleODP</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.OracleODP.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.OracleODP"/> namespace contains the provider files for
+            supporting the Oracle database backend using the Oracle ODP provider library.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.OracleODP.OracleODPAnalyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an ObjectMap with as much information as is available.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.OracleODP.OracleODPFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Oracle RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetStatementTerminator">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.OracleODP.OracleODPFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.OracleODP.OracleODPProvider">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IPersistenceEngine instance for the MS SQL Server rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.OracleODP.OracleODPProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.PostgreSQL/Gentle.Provider.PostgreSQL.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.PostgreSQL/Gentle.Provider.PostgreSQL.xml
new file mode 100644
index 0000000..ac18970
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.PostgreSQL/Gentle.Provider.PostgreSQL.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.PostgreSQL</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.PostgreSQL.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.PostgreSQL"/> namespace contains the provider files for
+            supporting the PostgreSQL database backend.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.PostgreSQL.PostgreSQLFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the PostgreSQL RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. For PostgreSQL, it looks as if the tableName must be an exact 
+            case-sensitive match and that the identityColumn is always lowercased (at least
+            for auto-generated sequences). 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetTableName(System.String)">
+            <summary>
+            Formats the given table name for use in queries. This may include prefixing
+            it with a schema name or suffixing it with an alias (for multi-table selects).
+            This default implementation simply returns the string given.
+            </summary>
+            <param name="tableName">The table name to format</param>
+            <returns>The formatted table name</returns>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.PostgreSQL.PostgreSQLProvider">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IPersistenceEngine instance for the PostgreSQL rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.#ctor(System.String,System.String)">
+            <summary>
+            Construct a new IPersistenceEngine instance for the PostgreSQL rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+            <param name="schemaName">The schema name to use with this database provider instance.</param>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.PostgreSQL.PostgreSQLProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServer/Gentle.Provider.SQLServer.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServer/Gentle.Provider.SQLServer.xml
new file mode 100644
index 0000000..fec9004
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServer/Gentle.Provider.SQLServer.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SQLServer</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SQLServer.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SQLServer"/> namespace contains the provider files for
+            supporting the MS SQL Server 7.0 and 2000 database backends.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQL92Analyzer">
+            <summary>
+            This class is a caching database analyzer. When first created it will build a cache of
+            all found tables and populate an TableMap with as much information as is available.
+            This class has been tested only with MS SQL Server. While SQL92 is a standard it is 
+            likely that the contents returned by other databases (supporting the information_schema
+            views) will return different values. Whenever a difference is encountered the appropriate
+            methods for parsing the data should be added to the SqlFactory and descendants, keeping
+            this class as generic as possible.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQL92Analyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerAnalyzer">
+            <summary>
+            Placeholder class for when Sql92Analyzer is modified or when data needs custom parsing.
+            The current implementation merely reuses the Sql92Analyzer class.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Microsoft SQL Server RDBMS.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords">
+            <summary>
+            Container class to test for existence of reserved words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords.#ctor">
+            <summary>
+            Create a new <see cref="T:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords"/> instance and fill
+            internal <see cref="T:System.Collections.Hashtable"/> with reserved words for fast
+            retrieval.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords.IsReservedWord(System.String)">
+             <summary>
+             Determine if the specified token is a reserved word in the current
+             implementation. Works case insensitive.
+             </summary>
+             <param name="Token">The token that should be checked.</param>
+             <returns><see langword="true"/> if the specified token is a reseved
+             word, <see langword="false"/> if not.</returns>
+             <example>
+             The following call returns <see langword="false"/>:
+             <code>IsReservedWord("FIRSTNAME");</code>
+             The following call returns <see langword="true"/>:
+             <code>IsReservedWord("VARCHAR");</code>
+            </example>
+        </member>
+        <member name="F:Gentle.Provider.SQLServer.SQLServerFactory.ReservedWords.reservedWordsHashtable">
+            <summary>
+            <see cref="T:System.Collections.Hashtable"/> containing all reserved words for fast lookup.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.SQLServer.SQLServerFactory.reservedWords">
+            <summary>
+            Static singleton instance for access to reserved words collection.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetSystemType(System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <param name="word">The word that should be checked for.</param>
+            <returns><see langword="true"/> if the word is reserved.</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <param name="word">The word that should be quoted to avoid errors.</param>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerProvider">
+            <summary>
+            This class is an implementation of the IGentleProvider and IPersistenceEngine 
+            interfaces for the Microsoft SQL Server RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for the MS SQL Server rdbms.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="P:Gentle.Provider.SQLServer.SQLServerProvider.ProviderInformation">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServer.SQLServerProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServer.SQLServerProviderInformation">
+            <summary>
+            The class encapsulates information about the underlying database provider,
+            as well as the logic to extract it.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SQLServer.SQLServerProviderInformation.Name">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SQLServer.SQLServerProviderInformation.Version">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.IProviderInformation"/>
+            for details.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServerCE/Gentle.Provider.SQLServerCE.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServerCE/Gentle.Provider.SQLServerCE.xml
new file mode 100644
index 0000000..8422fd7
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLServerCE/Gentle.Provider.SQLServerCE.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SQLServerCE</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SQLServerCE.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SQLServerCE"/> namespace contains the provider 
+            files for supporting the MS SQL Server CE database backend.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServerCE.SQLServerCEFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Microsoft SQL Server CE RDBMS.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords">
+            <summary>
+            Container class to test for existence of reserved words.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords.#ctor">
+            <summary>
+            Create a new <see cref="T:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords"/> instance and fill
+            internal <see cref="T:System.Collections.Hashtable"/> with reserved words for fast
+            retrieval.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords.IsReservedWord(System.String)">
+             <summary>
+             Determine if the specified token is a reserved word in the current
+             implementation. Works case insensitive.
+             </summary>
+             <param name="Token">The token that should be checked.</param>
+             <returns><see langword="true"/> if the specified token is a reseved
+             word, <see langword="false"/> if not.</returns>
+             <example>
+             The following call returns <see langword="false"/>:
+             <code>IsReservedWord("FIRSTNAME");</code>
+             The following call returns <see langword="true"/>:
+             <code>IsReservedWord("VARCHAR");</code>
+            </example>
+        </member>
+        <member name="F:Gentle.Provider.SQLServerCE.SQLServerCEFactory.ReservedWords.reservedWordsHashtable">
+            <summary>
+            <see cref="T:System.Collections.Hashtable"/> containing all reserved words for fast lookup.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.SQLServerCE.SQLServerCEFactory.reservedWords">
+            <summary>
+            Static singleton instance for access to reserved words collection.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetParameterSuffix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SQLServerCE.SQLServerCEFactory.Capabilities">
+            <summary>
+            Obtain an enum describing the supported database capabilities.  
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Access/CE does not support Batch Command Processing, please refer to
+            http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconRetrievingIdentityOrAutonumberValues.asp
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <param name="word">The word that should be checked for.</param>
+            <returns><see langword="true"/> if the word is reserved.</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEFactory.QuoteReservedWord(System.String)">
+            <summary>
+            Obtain a quoted version of the reserved word to allow the reserved word to be 
+            used in queries anyway. If a reserved word cannot be quoted this method should
+            raise an error informing the user that they need to pick a different name.
+            </summary>
+            <param name="word">The word that should be quoted to avoid errors.</param>
+            <returns>The given reserved word or field quoted to avoid errors.</returns>
+        </member>
+        <member name="T:Gentle.Provider.SQLServerCE.SQLServerCEProvider">
+            <summary>
+            This class is an implementation of the IGentleProvider and IPersistenceEngine 
+            interfaces for the Microsoft SQL Server CE RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for the MS SQL Server CE RDBMS.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLServerCE.SQLServerCEProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.csproj b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.csproj
index 58a5951..3c58de5 100644
--- a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.csproj
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.csproj
@@ -29,6 +29,9 @@
     <OldToolsVersion>3.5</OldToolsVersion>
     <SignAssembly>true</SignAssembly>
     <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <OutputPath>bin\Debug\</OutputPath>
@@ -79,7 +82,10 @@
     <Reference Include="System.Data">
       <Name>System.Data</Name>
     </Reference>
-    <Reference Include="System.Data.SQLite, Version=1.0.48.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86" />
+    <Reference Include="System.Data.SQLite, Version=1.0.99.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\..\..\..\..\Packages\System.Data.SQLite.Core.1.0.99.0\lib\net20\System.Data.SQLite.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System.Xml">
       <Name>System.XML</Name>
     </Reference>
@@ -114,10 +120,13 @@
     <Compile Include="SQLiteProvider.cs">
       <SubType>Code</SubType>
     </Compile>
-    <Content Include="lib\System.Data.SQLite.DLL" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="app.config" />
     <None Include="Gentle.snk" />
+    <None Include="packages.config">
+      <SubType>Designer</SubType>
+    </None>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
@@ -126,4 +135,11 @@
     <PostBuildEvent>
     </PostBuildEvent>
   </PropertyGroup>
+  <Import Project="..\..\..\..\..\Packages\System.Data.SQLite.Core.1.0.99.0\build\net20\System.Data.SQLite.Core.targets" Condition="Exists('..\..\..\..\..\Packages\System.Data.SQLite.Core.1.0.99.0\build\net20\System.Data.SQLite.Core.targets')" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\..\..\..\..\Packages\System.Data.SQLite.Core.1.0.99.0\build\net20\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\Packages\System.Data.SQLite.Core.1.0.99.0\build\net20\System.Data.SQLite.Core.targets'))" />
+  </Target>
 </Project>
\ No newline at end of file
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.xml
new file mode 100644
index 0000000..707f1bd
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/Gentle.Provider.SQLite.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SQLite</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SQLite.SQLiteAnalyzer">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the SQLite RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLite.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SQLite"/> namespace contains the provider files for
+            supporting the SQLite database backend.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLite.SQLiteFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the SQLite RDBMS.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            This method assumes that the tableName and identityColumn parameters are passed
+            in the correct case. 
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details on the
+            purpose of this method. 
+            </summary>
+            <param name="sql">The sql string to which we should append</param>
+            <param name="om">An <see cref="T:Gentle.Framework.ObjectMap"/> instance of the object for which to retrieve the identity select</param>
+            <returns>The modified sql string which also retrieves the identity value</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetParameterCollectionKey(System.String)">
+            <summary>
+            Obtain the name to use for name-based indexing into the IDbCommand.Parameters
+            collections. Most databases omit the parameter prefix, whereas some require it
+            to be present (e.g. SQLite).
+            </summary>
+            <param name="paramName">The parameter name without quoting or prefix/suffix.</param>
+            <returns>The name to use when accessing the IDbCommand.Parameters hashtable.</returns>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SQLite.SQLiteProvider">
+            <summary>
+            This class is an implementation of the IGentleProvider and IPersistenceEngine 
+            interfaces for the SQLite database.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for SQLite.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SQLite.SQLiteProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/app.config b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/app.config
new file mode 100644
index 0000000..b12562e
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/app.config
@@ -0,0 +1,35 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    
+  </configSections>
+  
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.48.0" newVersion="1.0.48.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+  <startup>
+    
+  <supportedRuntime version="v2.0.50727" /></startup>
+  <entityFramework>
+    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+      <parameters>
+        <parameter value="v12.0" />
+      </parameters>
+    </defaultConnectionFactory>
+    <providers>
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+    </providers>
+  </entityFramework>
+<system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data></configuration>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/lib/System.Data.SQLite.DLL b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/lib/System.Data.SQLite.DLL
deleted file mode 100644
index cb73703d7644febcad81da2e5d76d5d6d0c0997c..0000000000000000000000000000000000000000
GIT binary patch
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/packages.config b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/packages.config
new file mode 100644
index 0000000..16e39fc
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SQLite/packages.config
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="System.Data.SQLite" version="1.0.99.0" targetFramework="net20" />
+  <package id="System.Data.SQLite.Core" version="1.0.99.0" targetFramework="net20" />
+  <package id="System.Data.SQLite.Linq" version="1.0.99.0" targetFramework="net20" />
+</packages>
\ No newline at end of file
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Sybase/Gentle.Provider.Sybase.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Sybase/Gentle.Provider.Sybase.xml
new file mode 100644
index 0000000..a9653c0
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.Sybase/Gentle.Provider.Sybase.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.Sybase</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.Sybase.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.Sybase"/> namespace contains the provider files for
+            supporting the Sybase ASE database backend.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.Sybase.SybaseFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Sybase Asa Database.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.Sybase.SybaseFactory.reservedWords">
+            <summary>
+            This is the list of reserved words in Sybase SQL Anywhere. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.Sybase.SybaseFactory.SupportsBatchCommandProcessing">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Sybase ASA Data Provider does not support BatchCommandProcessing
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="T:Gentle.Provider.Sybase.SybaseProvider">
+            <summary>
+            This class is an implementation of the GentleProvider class for Sybase.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for Sybase.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.Sybase.SybaseProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SybaseASA/Gentle.Provider.SybaseASA.xml b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SybaseASA/Gentle.Provider.SybaseASA.xml
new file mode 100644
index 0000000..730b216
--- /dev/null
+++ b/Common-MP-TVE3/External/Gentle.NET/Source/Gentle.Provider.SybaseASA/Gentle.Provider.SybaseASA.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Gentle.Provider.SybaseASA</name>
+    </assembly>
+    <members>
+        <member name="T:Gentle.Provider.SybaseASA.NamespaceDoc">
+            <summary>
+            The <see cref="N:Gentle.Provider.SybaseASA"/> namespace contains the provider files for
+            supporting the Sybase ASA database backend.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAAnalyzer.Analyze(System.String)">
+            <summary>
+            Please refer to the <see cref="T:Gentle.Framework.GentleAnalyzer"/> class and the <see cref="T:Gentle.Framework.IDatabaseAnalyzer"/> 
+            interface it implements a description of this method.
+            </summary>
+        </member>
+        <member name="T:Gentle.Provider.SybaseASA.SybaseASAFactory">
+            <summary>
+            This class is an implementation of the <see cref="T:Gentle.Framework.GentleSqlFactory"/> class for the 
+            Sybase Asa Database.
+            </summary>
+        </member>
+        <member name="F:Gentle.Provider.SybaseASA.SybaseASAFactory.reservedWords">
+            <summary>
+            This is the list of reserved words in Sybase SQL Anywhere. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetDbType(System.Type)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetDbType(System.String,System.Boolean)">
+            <summary>
+            This method converts the given string (as extracted from the database system tables) 
+            to the corresponding type enumeration value. 
+            </summary>
+            <param name="dbType">The name of the type with the database engine used.</param>
+            <param name="isUnsigned">A boolean value indicating whether the type is unsigned. This
+            is not supported by most engines and/or data providers and is thus fairly useless at
+            this point.</param>
+            <returns>The value of the corresponding database type enumeration. The enum is converted
+            to its numeric (long) representation because each provider uses its own enum (and they
+            are not compatible with the generic DbType defined in System.Data).</returns>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetParameterPrefix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetParameterSuffix">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetQuoteCharacter">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.GetIdentitySelect(System.String,Gentle.Framework.ObjectMap)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="P:Gentle.Provider.SybaseASA.SybaseASAFactory.Capabilities">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details.
+            Sybase ASA Data Provider does not support BatchCommandProcessing
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.AddParameter(System.Data.IDbCommand,System.String,System.Int64)">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleSqlFactory"/> for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAFactory.IsReservedWord(System.String)">
+            <summary>
+            Determine is a word is reserved and needs special quoting.
+            </summary>
+            <returns>True if the word is reserved</returns>
+        </member>
+        <member name="T:Gentle.Provider.SybaseASA.SybaseASAProvider">
+            <summary>
+            This class is an implementation of the GentleProvider class for Sybase.
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.#ctor(System.String)">
+            <summary>
+            Construct a new IGentleProvider instance for Sybase.
+            </summary>
+            <param name="connectionString">The connection string to use for 
+            connecting to the database engine.</param>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetSqlFactory">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetAnalyzer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetRenderer">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IGentleProvider"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetCommand">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+        <member name="M:Gentle.Provider.SybaseASA.SybaseASAProvider.GetConnection">
+            <summary>
+            Please refer to the documentation of <see cref="T:Gentle.Framework.GentleProvider"/> and the
+            <see cref="T:Gentle.Framework.IPersistenceEngine"/> interface it implements for details. 
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Common-MP-TVE3/Gentle.config b/Common-MP-TVE3/Gentle.config
index 25645f9..bd81e81 100644
--- a/Common-MP-TVE3/Gentle.config
+++ b/Common-MP-TVE3/Gentle.config
@@ -81,7 +81,7 @@
     <!-- Provider name="Oracle"     assembly="Gentle.Provider.Oracle" /-->
     <!-- Provider name="OracleODP"  assembly="Gentle.Provider.OracleODP" /-->
     <!-- Provider name="PostgreSQL" assembly="Gentle.Provider.PostgreSQL" /-->
-    <!-- Provider name="SQLite"     assembly="Gentle.Provider.SQLite" / -->
+    <Provider name="SQLite"     assembly="Gentle.Provider.SQLite" />
     <Provider name="SQLServer" assembly="Gentle.Provider.SQLServer" />
     <!-- Provider name="Sybase"     assembly="Gentle.Provider.Sybase" / -->
     <!-- Provider name="SybaseASA"  assembly="Gentle.Provider.SybaseASA" / -->
diff --git a/TvEngine3/TVLibrary/SetupTv/39_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/39_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..7828c50
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/39_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+﻿
+ALTER TABLE Card ADD preload bit NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Version SET versionNumber=39;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/40_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/40_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..2b642de
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/40_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+﻿
+ALTER TABLE Card ADD CAM bit NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Version SET versionNumber=40;
+--GO
\ No newline at end of file
diff --git a/TvEngine3/TVLibrary/SetupTv/41_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/41_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..2026f57
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/41_upgrade_sqlite_database.sql
@@ -0,0 +1,7 @@
+﻿
+ALTER TABLE TuningDetail ADD audioSource INTEGER NOT NULL DEFAULT 1;
+--GO
+
+UPDATE Version SET versionNumber=41;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/42_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/42_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..4a83137
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/42_upgrade_sqlite_database.sql
@@ -0,0 +1,7 @@
+
+ALTER TABLE TuningDetail ADD isVCRSignal bit NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Version SET versionNumber=42;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/43_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/43_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..06f5f69
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/43_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+﻿
+ALTER TABLE Schedule ADD series bit NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Version SET versionNumber=43;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/44_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/44_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..6290a4c
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/44_upgrade_sqlite_database.sql
@@ -0,0 +1,8 @@
+﻿ALTER TABLE Program ADD episodeName varchar(8000) COLLATE NOCASE NOT NULL DEFAULT '';
+--GO
+
+ALTER TABLE Program ADD episodePart varchar(8000) COLLATE NOCASE NOT NULL DEFAULT '';
+--GO
+
+UPDATE Version SET versionNumber=44;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/45_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/45_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..87fba86
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/45_upgrade_sqlite_database.sql
@@ -0,0 +1,20 @@
+﻿
+-- Have to copy data into temp table in SQLite
+ALTER TABLE Recording RENAME TO sqlitestudio_temp_table;
+
+CREATE TABLE Recording (idRecording INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, idChannel INTEGER NOT NULL, startTime datetime NOT NULL, endTime datetime NOT NULL, title varchar (2000) COLLATE NOCASE NOT NULL, description varchar (8000) COLLATE NOCASE NOT NULL, genre varchar (200) COLLATE NOCASE NOT NULL, fileName varchar (260) COLLATE NOCASE NOT NULL, keepUntil INTEGER NOT NULL, keepUntilDate datetime NOT NULL, timesWatched INTEGER NOT NULL, idServer INTEGER NOT NULL, stopTime INTEGER NOT NULL);
+
+INSERT INTO Recording (idRecording, idChannel, startTime, endTime, title, description, genre, fileName, keepUntil, keepUntilDate, timesWatched, idServer, stopTime) SELECT idRecording, idChannel, startTime, endTime, title, description, genre, fileName, keepUntil, keepUntilDate, timesWatched, idServer, stopTime FROM sqlitestudio_temp_table;
+
+DROP TABLE sqlitestudio_temp_table;
+--GO
+
+
+CREATE INDEX IDX_Recording_Filename ON Recording(fileName);
+--GO
+
+CREATE INDEX IDX_Program_Notify ON Program(notify);
+--GO
+
+UPDATE Version SET versionNumber=45;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/46_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/46_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..1facdc3
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/46_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+﻿
+ALTER TABLE Recording ADD episodeName varchar(8000) COLLATE NOCASE NOT NULL DEFAULT '';
+--GO
+
+UPDATE Version SET versionNumber=46;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/47_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/47_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..6da2eee
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/47_upgrade_sqlite_database.sql
@@ -0,0 +1,13 @@
+
+ALTER TABLE Recording ADD seriesNum varchar(200) COLLATE NOCASE NOT NULL DEFAULT '';
+--GO
+
+ALTER TABLE Recording ADD episodeNum varchar(200) COLLATE NOCASE NOT NULL DEFAULT '';
+--GO
+
+ALTER TABLE Recording ADD episodePart varchar(8000) COLLATE NOCASE NOT NULL DEFAULT '';
+--GO
+  
+UPDATE Version SET versionNumber=47;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/48_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/48_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..2eccab1
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/48_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+
+ALTER TABLE Server ADD rtspPort INTEGER NOT NULL DEFAULT 554;
+--GO
+
+UPDATE Version SET versionNumber=48;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/49_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/49_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..0391226
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/49_upgrade_sqlite_database.sql
@@ -0,0 +1,54 @@
+
+ALTER TABLE Recording ADD isRecording BIT NOT NULL DEFAULT 0;
+--GO
+
+ALTER TABLE Recording ADD idSchedule INTEGER NOT NULL DEFAULT 0;
+--GO
+
+DROP INDEX IDX_Program_Notify;
+--GO
+
+DROP INDEX IX_Program_EPG_Lookup;
+--GO
+
+ALTER TABLE Program ADD state INTEGER NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Program SET state=1 WHERE notify=1;
+--GO
+
+-- Drop column "notify"
+ALTER TABLE Program RENAME TO sqlitestudio_temp_table;
+
+CREATE TABLE Program (idProgram INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, idChannel INTEGER NOT NULL, 
+startTime datetime NOT NULL, endTime datetime NOT NULL, title varchar (8000) COLLATE NOCASE NOT NULL, 
+description varchar (8000) COLLATE NOCASE NOT NULL, seriesNum varchar (200) COLLATE NOCASE NOT NULL, 
+episodeNum varchar (200) COLLATE NOCASE NOT NULL, genre varchar (200) COLLATE NOCASE NOT NULL, 
+originalAirDate datetime NOT NULL, classification varchar (200) COLLATE NOCASE NOT NULL, 
+starRating INTEGER NOT NULL, parentalRating INTEGER NOT NULL, 
+episodeName varchar (8000) COLLATE NOCASE NOT NULL DEFAULT '', 
+episodePart varchar (8000) COLLATE NOCASE NOT NULL DEFAULT '', state INT NOT NULL DEFAULT 0);
+
+INSERT INTO Program (idProgram, idChannel, startTime, endTime, title, description, seriesNum, episodeNum, genre, originalAirDate, classification, starRating, parentalRating, episodeName, episodePart, state) 
+SELECT idProgram, idChannel, startTime, endTime, title, description, seriesNum, episodeNum, genre, originalAirDate, classification, starRating, parentalRating, episodeName, episodePart, state FROM sqlitestudio_temp_table;
+
+DROP TABLE sqlitestudio_temp_table;
+--GO
+
+ALTER TABLE Schedule ADD idParentSchedule INTEGER NOT NULL DEFAULT 0;
+--GO
+
+CREATE INDEX IX_Program_EPG_Lookup ON Program 
+(
+	idChannel ASC,
+	startTime ASC,
+	endTime ASC
+);
+--GO
+
+CREATE INDEX IDX_Program_State ON Program(state);
+--GO
+
+UPDATE Version SET versionNumber=49;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/50_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/50_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..6d92da2
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/50_upgrade_sqlite_database.sql
@@ -0,0 +1,8 @@
+
+ALTER TABLE Card ADD NetProvider tinyint NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Version SET versionNumber=50;
+--GO
+
+
diff --git a/TvEngine3/TVLibrary/SetupTv/51_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/51_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..f1f6a2b
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/51_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+ALTER TABLE CanceledSchedule ADD idChannel INTEGER NOT NULL DEFAULT 0;
+--GO
+
+UPDATE Version SET versionNumber=51;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/52_upgrade_sqllite_database.sql b/TvEngine3/TVLibrary/SetupTv/52_upgrade_sqllite_database.sql
new file mode 100644
index 0000000..18fbe5a
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/52_upgrade_sqllite_database.sql
@@ -0,0 +1,10 @@
+
+DELETE FROM ChannelLinkageMap;
+--GO
+
+ALTER TABLE ChannelLinkageMap ADD displayName varchar(200) COLLATE NOCASE NOT NULL;
+--GO
+
+UPDATE Version SET versionNumber=52;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/53_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/53_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..30195e6
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/53_upgrade_sqlite_database.sql
@@ -0,0 +1,82 @@
+
+CREATE TABLE SoftwareEncoder(
+	idEncoder INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	priority INTEGER NOT NULL,
+	name varchar(200) COLLATE NOCASE NOT NULL,
+	type INTEGER NOT NULL
+);
+--GO
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (1,'InterVideo Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (2,'Ulead MPEG Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (3,'MainConcept MPEG Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (4,'MainConcept Demo MPEG Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (5,'CyberLink MPEG Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (6,'CyberLink MPEG Video Encoder(Twinhan)',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (7,'MainConcept (Hauppauge) MPEG Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (8,'nanocosmos MPEG Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (9,'Pinnacle MPEG 2 Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (10,'MainConcept (HCW) MPEG-2 Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (11,'ATI MPEG Video Encoder',0);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (1,'InterVideo Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (2,'Ulead MPEG Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (3,'MainConcept MPEG Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (4,'MainConcept Demo MPEG Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (5,'CyberLink Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (6,'CyberLink Audio Encoder(Twinhan)',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (7,'Pinnacle MPEG Layer-2 Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (8,'MainConcept (Hauppauge) MPEG Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (9,'NVIDIA Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (10,'MainConcept (HCW) Layer II Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (11,'CyberLink MPEG Audio Encoder',1);
+
+INSERT INTO SoftwareEncoder (priority,name,type)
+     VALUES (12,'ATI MPEG Audio Encoder',1);
+--GO
+
+UPDATE Version SET versionNumber=53;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/54_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/54_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..cde5b5d
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/54_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+
+ALTER TABLE Card ADD stopgraph bit NOT NULL DEFAULT 1;
+--GO
+
+UPDATE Version SET versionNumber=54;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/55_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/55_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..6633d25
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/55_upgrade_sqlite_database.sql
@@ -0,0 +1,11 @@
+
+CREATE TABLE PendingDeletion (
+	idPendingDeletion INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,	
+	fileName varchar(200) COLLATE NOCASE NOT NULL	
+);
+--GO
+
+UPDATE Version SET versionNumber=55;
+--GO
+
+
diff --git a/TvEngine3/TVLibrary/SetupTv/56_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/56_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..146f20d
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/56_upgrade_sqlite_database.sql
@@ -0,0 +1,36 @@
+
+DROP INDEX IX_TuningDetail_idChannel;
+--GO
+
+CREATE INDEX IX_TuningDetail_idChannel ON TuningDetail
+(
+	idChannel ASC
+);
+--GO
+
+ALTER TABLE TuningDetail RENAME TO sqlitestudio_temp_table;
+
+-- Columns that are not required have been dropped
+CREATE TABLE TuningDetail (idTuning INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, idChannel INTEGER NOT NULL, 
+name varchar (200) COLLATE NOCASE NOT NULL, provider varchar (200) COLLATE NOCASE NOT NULL, 
+channelType INTEGER NOT NULL, channelNumber INTEGER NOT NULL, frequency INTEGER NOT NULL, 
+countryId INTEGER NOT NULL, isRadio bit NOT NULL, isTv bit NOT NULL, networkId INTEGER NOT NULL, 
+transportId INTEGER NOT NULL, serviceId INTEGER NOT NULL, pmtPid INTEGER NOT NULL, freeToAir bit NOT NULL, 
+modulation INTEGER NOT NULL, polarisation INTEGER NOT NULL, symbolrate INTEGER NOT NULL, 
+diseqc INTEGER NOT NULL, switchingFrequency INTEGER NOT NULL, bandwidth INTEGER NOT NULL, 
+majorChannel INTEGER NOT NULL, minorChannel INTEGER NOT NULL, videoSource INTEGER NOT NULL, 
+tuningSource INTEGER NOT NULL, band INTEGER NOT NULL, satIndex INTEGER NOT NULL, 
+innerFecRate INTEGER NOT NULL, pilot INTEGER NOT NULL, rollOff INTEGER NOT NULL, 
+url varchar (200) COLLATE NOCASE NOT NULL, bitrate INTEGER NOT NULL);
+
+INSERT INTO TuningDetail (idTuning, idChannel, name, provider, channelType, channelNumber, frequency, countryId, isRadio, isTv, networkId, transportId, serviceId, pmtPid, freeToAir, modulation, polarisation, symbolrate, diseqc, switchingFrequency, bandwidth, majorChannel, minorChannel, videoSource, tuningSource, band, satIndex, innerFecRate, pilot, rollOff, url, bitrate) 
+SELECT idTuning, idChannel, name, provider, channelType, channelNumber, frequency, countryId, isRadio, isTv, networkId, transportId, serviceId, pmtPid, freeToAir, modulation, polarisation, symbolrate, diseqc, switchingFrequency, bandwidth, majorChannel, minorChannel, videoSource, tuningSource, band, satIndex, innerFecRate, pilot, rollOff, url, bitrate FROM sqlitestudio_temp_table;
+
+DROP TABLE sqlitestudio_temp_table;
+--GO
+
+CREATE INDEX IX_TuningDetail_idChannel ON TuningDetail (idChannel ASC);
+--GO
+
+UPDATE Version SET versionNumber=56;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/57_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/57_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..0b32dc9
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/57_upgrade_sqlite_database.sql
@@ -0,0 +1,25 @@
+DROP INDEX IX_Channel_IsTV;
+--GO
+
+--ALTER TABLE Channel DROP COLUMN name;
+--ALTER TABLE Channel DROP COLUMN freetoair;
+
+ALTER TABLE Channel RENAME TO sqlitestudio_temp_table;
+
+CREATE TABLE Channel (idChannel INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, isRadio bit NOT NULL, 
+isTv bit NOT NULL, timesWatched INTEGER NOT NULL, totalTimeWatched datetime NOT NULL, 
+grabEpg bit NOT NULL, lastGrabTime datetime NOT NULL, sortOrder INTEGER NOT NULL, 
+visibleInGuide bit NOT NULL, externalId varchar (200) COLLATE NOCASE NOT NULL, 
+displayName varchar (200) COLLATE NOCASE NOT NULL, epgHasGaps bit NOT NULL);
+
+INSERT INTO Channel (idChannel, isRadio, isTv, timesWatched, totalTimeWatched, grabEpg, lastGrabTime, sortOrder, visibleInGuide, externalId, displayName, epgHasGaps) 
+SELECT idChannel, isRadio, isTv, timesWatched, totalTimeWatched, grabEpg, lastGrabTime, sortOrder, visibleInGuide, externalId, displayName, epgHasGaps FROM sqlitestudio_temp_table;
+
+DROP TABLE sqlitestudio_temp_table;
+--GO
+
+CREATE INDEX IX_Channel_IsTV ON Channel (isTv ASC, sortOrder ASC);
+--GO
+
+UPDATE Version SET versionNumber=57;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/58_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/58_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..4e117c9
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/58_upgrade_sqlite_database.sql
@@ -0,0 +1,10 @@
+
+ALTER TABLE SoftwareEncoder ADD reusable bit NOT NULL DEFAULT 1;
+--GO
+
+INSERT INTO Setting (tag, value) VALUES ('softwareEncoderReuseLimit', '0');
+--GO
+
+UPDATE Version SET versionNumber = 58;
+--GO
+
diff --git a/TvEngine3/TVLibrary/SetupTv/59_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/59_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..d503941
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/59_upgrade_sqlite_database.sql
@@ -0,0 +1,31 @@
+-- Can't see what the script changes from v54, but I recreate the table anyway
+
+ALTER TABLE Card RENAME TO sqlitestudio_temp_table;
+
+CREATE TABLE Card (
+	idCard INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
+	devicePath varchar (2000) COLLATE NOCASE NOT NULL, 
+	name varchar (200) COLLATE NOCASE NOT NULL, 
+	priority INTEGER NOT NULL, grabEPG bit NOT NULL, 
+	lastEpgGrab datetime NOT NULL, 
+	recordingFolder varchar (256) COLLATE NOCASE NOT NULL, 
+	idServer INTEGER NOT NULL, 
+	enabled bit NOT NULL, 
+	camType INTEGER NOT NULL, 
+	timeshiftingFolder varchar (256) COLLATE NOCASE NOT NULL, 
+	recordingFormat INTEGER NOT NULL, 
+	decryptLimit INTEGER NOT NULL, 
+	preload bit NOT NULL DEFAULT 0, 
+	stopgraph bit NOT NULL DEFAULT 1
+);
+
+INSERT INTO Card (idCard, devicePath, name, priority, grabEPG, lastEpgGrab, recordingFolder, idServer, enabled, camType, timeshiftingFolder, recordingFormat, decryptLimit, preload, stopgraph) 
+SELECT idCard, devicePath, name, priority, grabEPG, lastEpgGrab, recordingFolder, idServer, enabled, camType, timeshiftingFolder, recordingFormat, decryptLimit, preload, stopgraph FROM sqlitestudio_temp_table;
+
+DROP TABLE sqlitestudio_temp_table;
+--GO
+
+UPDATE Version SET versionNumber=59;
+--GO
+
+
diff --git a/TvEngine3/TVLibrary/SetupTv/60_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/60_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..a81cdae
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/60_upgrade_sqlite_database.sql
@@ -0,0 +1,6 @@
+
+UPDATE Card SET stopgraph = 1;
+--GO
+
+UPDATE Version SET versionNumber=60;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/61_upgrade_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/61_upgrade_sqlite_database.sql
new file mode 100644
index 0000000..5905762
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/61_upgrade_sqlite_database.sql
@@ -0,0 +1,20 @@
+ALTER TABLE Channel ADD channelNumber INTEGER NOT NULL DEFAULT 10000;
+--GO
+
+
+WITH chans (idChannel, channelNumber)
+AS (
+	SELECT t.idChannel, MIN(t.channelNumber) AS channelNumber
+	FROM TuningDetail t
+	JOIN Channel c ON c.idChannel=t.idChannel
+	GROUP BY t.idChannel
+)
+UPDATE Channel SET channelNumber = (SELECT channelNumber
+FROM chans
+WHERE idChannel=Channel.idChannel);
+--GO
+
+
+
+UPDATE Version SET versionNumber=61;
+--GO
diff --git a/TvEngine3/TVLibrary/SetupTv/App.config b/TvEngine3/TVLibrary/SetupTv/App.config
index 02fec41..063ed70 100644
--- a/TvEngine3/TVLibrary/SetupTv/App.config
+++ b/TvEngine3/TVLibrary/SetupTv/App.config
@@ -30,7 +30,14 @@
         <assemblyIdentity name="Gentle.Provider.SQLServer" publicKeyToken="80b5de62e27be49b" culture="neutral"/>
         <bindingRedirect oldVersion="1.5.0.29053-1.5.0.29112" newVersion="1.5.0.29113"/>
       </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Gentle.Provider.SQLite" publicKeyToken="80b5de62e27be49b" culture="neutral"/>
+        <bindingRedirect oldVersion="1.5.0.29053-1.5.0.29112" newVersion="1.5.0.29113"/>
+      </dependentAssembly>
     </assemblyBinding>
     <loadFromRemoteSources enabled="true"/>
   </runtime>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
+  <startup useLegacyV2RuntimeActivationPolicy="true">
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
+  </startup>
+</configuration>
diff --git a/TvEngine3/TVLibrary/SetupTv/Properties/Resources.Designer.cs b/TvEngine3/TVLibrary/SetupTv/Properties/Resources.Designer.cs
index e87cf58..0183eb2 100644
--- a/TvEngine3/TVLibrary/SetupTv/Properties/Resources.Designer.cs
+++ b/TvEngine3/TVLibrary/SetupTv/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
 ﻿//------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.18046
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -223,6 +223,16 @@ namespace SetupTv.Properties {
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
+        internal static System.Drawing.Bitmap logo_SQLite {
+            get {
+                object obj = ResourceManager.GetObject("logo_SQLite", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
         internal static System.Drawing.Bitmap wizard_header {
             get {
                 object obj = ResourceManager.GetObject("wizard_header", resourceCulture);
diff --git a/TvEngine3/TVLibrary/SetupTv/Properties/Resources.resx b/TvEngine3/TVLibrary/SetupTv/Properties/Resources.resx
index b420b0c..2de809e 100644
--- a/TvEngine3/TVLibrary/SetupTv/Properties/Resources.resx
+++ b/TvEngine3/TVLibrary/SetupTv/Properties/Resources.resx
@@ -112,12 +112,12 @@
     <value>2.0</value>
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="animation_SatDish" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\images\animation.SatDish.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
@@ -169,4 +169,7 @@
   <data name="icon_sort_none" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\images\icon.sort.none.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="logo_SQLite" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\sqlite370_banner.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/TvEngine3/TVLibrary/SetupTv/Resources/sqlite370_banner.gif b/TvEngine3/TVLibrary/SetupTv/Resources/sqlite370_banner.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c63fdc4556093ceb0ba41287faeaab0e1690304e
GIT binary patch
diff --git a/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.Designer.cs b/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.Designer.cs
index 6f0a24b..8a887d2 100644
--- a/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.Designer.cs
+++ b/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.Designer.cs
@@ -29,6 +29,7 @@ namespace SetupTv
     private void InitializeComponent()
     {
       this.gbConnectionSetup = new System.Windows.Forms.GroupBox();
+      this.rbSqlite = new System.Windows.Forms.RadioButton();
       this.gbDbLogon = new System.Windows.Forms.GroupBox();
       this.labelPwd = new System.Windows.Forms.Label();
       this.lblUserId = new MediaPortal.UserInterface.Controls.MPLabel();
@@ -43,23 +44,27 @@ namespace SetupTv
       this.lbServerHostname = new MediaPortal.UserInterface.Controls.MPLabel();
       this.tbServerHostName = new MediaPortal.UserInterface.Controls.MPTextBox();
       this.lblDBChoice = new System.Windows.Forms.LinkLabel();
-      this.pbMySQL = new System.Windows.Forms.PictureBox();
-      this.pbSQLServer = new System.Windows.Forms.PictureBox();
       this.rbMySQL = new System.Windows.Forms.RadioButton();
       this.rbSQLServer = new System.Windows.Forms.RadioButton();
       this.btnTest = new MediaPortal.UserInterface.Controls.MPButton();
       this.btnSave = new MediaPortal.UserInterface.Controls.MPButton();
       this.mpLabel1 = new MediaPortal.UserInterface.Controls.MPLabel();
       this.btnDrop = new MediaPortal.UserInterface.Controls.MPButton();
+      this.pbSQLite = new System.Windows.Forms.PictureBox();
+      this.pbMySQL = new System.Windows.Forms.PictureBox();
+      this.pbSQLServer = new System.Windows.Forms.PictureBox();
       this.gbConnectionSetup.SuspendLayout();
       this.gbDbLogon.SuspendLayout();
       this.gbServerLocation.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.pbSQLite)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.pbMySQL)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.pbSQLServer)).BeginInit();
       this.SuspendLayout();
       // 
       // gbConnectionSetup
       // 
+      this.gbConnectionSetup.Controls.Add(this.pbSQLite);
+      this.gbConnectionSetup.Controls.Add(this.rbSqlite);
       this.gbConnectionSetup.Controls.Add(this.gbDbLogon);
       this.gbConnectionSetup.Controls.Add(this.gbServerLocation);
       this.gbConnectionSetup.Controls.Add(this.lblDBChoice);
@@ -69,11 +74,23 @@ namespace SetupTv
       this.gbConnectionSetup.Controls.Add(this.rbSQLServer);
       this.gbConnectionSetup.Location = new System.Drawing.Point(12, 12);
       this.gbConnectionSetup.Name = "gbConnectionSetup";
-      this.gbConnectionSetup.Size = new System.Drawing.Size(374, 414);
+      this.gbConnectionSetup.Size = new System.Drawing.Size(561, 414);
       this.gbConnectionSetup.TabIndex = 0;
       this.gbConnectionSetup.TabStop = false;
       this.gbConnectionSetup.Text = "Connection settings";
       // 
+      // rbSqlite
+      // 
+      this.rbSqlite.AutoSize = true;
+      this.rbSqlite.Location = new System.Drawing.Point(390, 122);
+      this.rbSqlite.Name = "rbSqlite";
+      this.rbSqlite.Size = new System.Drawing.Size(57, 17);
+      this.rbSqlite.TabIndex = 13;
+      this.rbSqlite.TabStop = true;
+      this.rbSqlite.Text = "SQLite";
+      this.rbSqlite.UseVisualStyleBackColor = true;
+      this.rbSqlite.CheckedChanged += new System.EventHandler(this.rbSqlite_CheckedChanged);
+      // 
       // gbDbLogon
       // 
       this.gbDbLogon.Controls.Add(this.labelPwd);
@@ -137,8 +154,8 @@ namespace SetupTv
       // 
       // gbServerLocation
       // 
-      this.gbServerLocation.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.gbServerLocation.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.gbServerLocation.Controls.Add(this.tbDatabaseName);
       this.gbServerLocation.Controls.Add(this.lblDbName);
       this.gbServerLocation.Controls.Add(this.tbServiceDependency);
@@ -148,18 +165,18 @@ namespace SetupTv
       this.gbServerLocation.Enabled = false;
       this.gbServerLocation.Location = new System.Drawing.Point(19, 154);
       this.gbServerLocation.Name = "gbServerLocation";
-      this.gbServerLocation.Size = new System.Drawing.Size(335, 109);
+      this.gbServerLocation.Size = new System.Drawing.Size(522, 109);
       this.gbServerLocation.TabIndex = 1;
       this.gbServerLocation.TabStop = false;
       this.gbServerLocation.Text = "Database location: ";
       // 
       // tbDatabaseName
       // 
-      this.tbDatabaseName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.tbDatabaseName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.tbDatabaseName.Location = new System.Drawing.Point(99, 74);
       this.tbDatabaseName.Name = "tbDatabaseName";
-      this.tbDatabaseName.Size = new System.Drawing.Size(220, 20);
+      this.tbDatabaseName.Size = new System.Drawing.Size(407, 20);
       this.tbDatabaseName.TabIndex = 5;
       this.tbDatabaseName.TextChanged += new System.EventHandler(this.tbDatabaseName_TextChanged);
       // 
@@ -174,11 +191,11 @@ namespace SetupTv
       // 
       // tbServiceDependency
       // 
-      this.tbServiceDependency.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.tbServiceDependency.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.tbServiceDependency.Location = new System.Drawing.Point(99, 48);
       this.tbServiceDependency.Name = "tbServiceDependency";
-      this.tbServiceDependency.Size = new System.Drawing.Size(220, 20);
+      this.tbServiceDependency.Size = new System.Drawing.Size(407, 20);
       this.tbServiceDependency.TabIndex = 4;
       this.tbServiceDependency.TextChanged += new System.EventHandler(this.tbServiceDependency_TextChanged);
       // 
@@ -202,11 +219,11 @@ namespace SetupTv
       // 
       // tbServerHostName
       // 
-      this.tbServerHostName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.tbServerHostName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.tbServerHostName.Location = new System.Drawing.Point(99, 22);
       this.tbServerHostName.Name = "tbServerHostName";
-      this.tbServerHostName.Size = new System.Drawing.Size(220, 20);
+      this.tbServerHostName.Size = new System.Drawing.Size(407, 20);
       this.tbServerHostName.TabIndex = 3;
       this.tbServerHostName.TextChanged += new System.EventHandler(this.tbServerHostName_TextChanged);
       // 
@@ -223,30 +240,6 @@ namespace SetupTv
       this.lblDBChoice.UseCompatibleTextRendering = true;
       this.lblDBChoice.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lblDBChoice_LinkClicked);
       // 
-      // pbMySQL
-      // 
-      this.pbMySQL.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-      this.pbMySQL.Image = global::SetupTv.Properties.Resources.logo_MySQL;
-      this.pbMySQL.Location = new System.Drawing.Point(204, 41);
-      this.pbMySQL.Name = "pbMySQL";
-      this.pbMySQL.Size = new System.Drawing.Size(150, 75);
-      this.pbMySQL.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
-      this.pbMySQL.TabIndex = 12;
-      this.pbMySQL.TabStop = false;
-      this.pbMySQL.Click += new System.EventHandler(this.pbMySQL_Click);
-      // 
-      // pbSQLServer
-      // 
-      this.pbSQLServer.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-      this.pbSQLServer.Image = global::SetupTv.Properties.Resources.logo_MSSQL;
-      this.pbSQLServer.Location = new System.Drawing.Point(19, 41);
-      this.pbSQLServer.Name = "pbSQLServer";
-      this.pbSQLServer.Size = new System.Drawing.Size(150, 75);
-      this.pbSQLServer.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
-      this.pbSQLServer.TabIndex = 11;
-      this.pbSQLServer.TabStop = false;
-      this.pbSQLServer.Click += new System.EventHandler(this.pbSQLServer_Click);
-      // 
       // rbMySQL
       // 
       this.rbMySQL.AutoSize = true;
@@ -274,7 +267,7 @@ namespace SetupTv
       // btnTest
       // 
       this.btnTest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.btnTest.Location = new System.Drawing.Point(229, 432);
+      this.btnTest.Location = new System.Drawing.Point(417, 432);
       this.btnTest.Name = "btnTest";
       this.btnTest.Size = new System.Drawing.Size(75, 23);
       this.btnTest.TabIndex = 3;
@@ -286,7 +279,7 @@ namespace SetupTv
       // 
       this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.btnSave.Enabled = false;
-      this.btnSave.Location = new System.Drawing.Point(310, 432);
+      this.btnSave.Location = new System.Drawing.Point(498, 432);
       this.btnSave.Name = "btnSave";
       this.btnSave.Size = new System.Drawing.Size(75, 23);
       this.btnSave.TabIndex = 3;
@@ -307,7 +300,7 @@ namespace SetupTv
       // 
       this.btnDrop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.btnDrop.Enabled = false;
-      this.btnDrop.Location = new System.Drawing.Point(310, 432);
+      this.btnDrop.Location = new System.Drawing.Point(498, 432);
       this.btnDrop.Name = "btnDrop";
       this.btnDrop.Size = new System.Drawing.Size(75, 23);
       this.btnDrop.TabIndex = 3;
@@ -316,11 +309,46 @@ namespace SetupTv
       this.btnDrop.Visible = false;
       this.btnDrop.Click += new System.EventHandler(this.btnDrop_Click);
       // 
+      // pbSQLite
+      // 
+      this.pbSQLite.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+      this.pbSQLite.Image = global::SetupTv.Properties.Resources.logo_SQLite;
+      this.pbSQLite.Location = new System.Drawing.Point(390, 41);
+      this.pbSQLite.Name = "pbSQLite";
+      this.pbSQLite.Size = new System.Drawing.Size(150, 75);
+      this.pbSQLite.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+      this.pbSQLite.TabIndex = 14;
+      this.pbSQLite.TabStop = false;
+      // 
+      // pbMySQL
+      // 
+      this.pbMySQL.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+      this.pbMySQL.Image = global::SetupTv.Properties.Resources.logo_MySQL;
+      this.pbMySQL.Location = new System.Drawing.Point(204, 41);
+      this.pbMySQL.Name = "pbMySQL";
+      this.pbMySQL.Size = new System.Drawing.Size(150, 75);
+      this.pbMySQL.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+      this.pbMySQL.TabIndex = 12;
+      this.pbMySQL.TabStop = false;
+      this.pbMySQL.Click += new System.EventHandler(this.pbMySQL_Click);
+      // 
+      // pbSQLServer
+      // 
+      this.pbSQLServer.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+      this.pbSQLServer.Image = global::SetupTv.Properties.Resources.logo_MSSQL;
+      this.pbSQLServer.Location = new System.Drawing.Point(19, 41);
+      this.pbSQLServer.Name = "pbSQLServer";
+      this.pbSQLServer.Size = new System.Drawing.Size(150, 75);
+      this.pbSQLServer.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+      this.pbSQLServer.TabIndex = 11;
+      this.pbSQLServer.TabStop = false;
+      this.pbSQLServer.Click += new System.EventHandler(this.pbSQLServer_Click);
+      // 
       // SetupDatabaseForm
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(397, 467);
+      this.ClientSize = new System.Drawing.Size(585, 467);
       this.Controls.Add(this.gbConnectionSetup);
       this.Controls.Add(this.btnTest);
       this.Controls.Add(this.mpLabel1);
@@ -338,6 +366,7 @@ namespace SetupTv
       this.gbDbLogon.PerformLayout();
       this.gbServerLocation.ResumeLayout(false);
       this.gbServerLocation.PerformLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.pbSQLite)).EndInit();
       ((System.ComponentModel.ISupportInitialize)(this.pbMySQL)).EndInit();
       ((System.ComponentModel.ISupportInitialize)(this.pbSQLServer)).EndInit();
       this.ResumeLayout(false);
@@ -370,5 +399,7 @@ namespace SetupTv
     private MediaPortal.UserInterface.Controls.MPLabel lblDbName;
     private MediaPortal.UserInterface.Controls.MPButton btnDrop;
     private System.Windows.Forms.Label labelPwd;
+    public System.Windows.Forms.RadioButton rbSqlite;
+    private System.Windows.Forms.PictureBox pbSQLite;
   }
 }
\ No newline at end of file
diff --git a/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.cs b/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.cs
index f1decb5..253688a 100644
--- a/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.cs
+++ b/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.cs
@@ -34,6 +34,7 @@ using System.Xml;
 using MySql.Data.MySqlClient;
 using TvLibrary.Interfaces;
 using TvLibrary.Log;
+using System.Data.SQLite;
 
 #endregion
 
@@ -45,6 +46,7 @@ namespace SetupTv
     {
       SqlServer,
       MySql,
+      Sqlite
     }
 
     private readonly StartupMode _dialogMode = StartupMode.Normal;
@@ -116,6 +118,7 @@ namespace SetupTv
       //<DefaultProvider name="Firebird" connectionString="User=SYSDBA;Password=masterkey;Data Source=TvLibrary.fdb;ServerType=1;Dialect=3;Charset=UNICODE_FSS;Role=;Pooling=true;" />
       //<DefaultProvider name="SQLServer" connectionString="Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=TvLibrary;Data Source=pcebeckers;" />
       //<DefaultProvider name="MySQL" connectionString="Server=10.0.0.2;Database=TvLibrary;User ID=xxx;Password=xxx" />
+      //<DefaultProvider name="SQLite" connectionString="data source=C:\ProgramData\Team MediaPortal\MediaPortal TV Server\MpTvDb.s3db" />
       try
       {
         XmlDocument doc = new XmlDocument();
@@ -135,6 +138,10 @@ namespace SetupTv
             provider = ProviderType.SqlServer;
             rbSQLServer.Checked = true;
             break;
+          case "sqlite":
+            provider = ProviderType.Sqlite;
+            rbSqlite.Checked = true;
+            break;
           default:
             return;
         }
@@ -208,6 +215,9 @@ namespace SetupTv
           if (database == "") database = "mysql";
           return String.Format("Server={0};Database={3};User ID={1};Password={2};charset=utf8;Connection Timeout={4};",
                                server, userid, password, database, timeout);
+
+        case ProviderType.Sqlite:
+          return "data source=" + server;
       }
       return "";
     }
@@ -221,8 +231,12 @@ namespace SetupTv
           LoadConnectionDetailsFromConfig(true);
         }
 
-        if (string.IsNullOrEmpty(tbServerHostName.Text) || string.IsNullOrEmpty(tbPassword.Text))
-          return false;
+        if (string.IsNullOrEmpty(tbServerHostName.Text)) return false;
+
+        if (provider != ProviderType.Sqlite)
+        {
+          if (string.IsNullOrEmpty(tbPassword.Text)) return false;
+        }
 
         string connectionString = ComposeConnectionString(tbServerHostName.Text, tbUserID.Text, tbPassword.Text, "",
                                                           false, 15);
@@ -243,6 +257,13 @@ namespace SetupTv
               connect.Close();
             }
             break;
+          case ProviderType.Sqlite:
+            using (SQLiteConnection connect = new SQLiteConnection(connectionString))
+            {
+              connect.Open();
+              connect.Close();
+            }
+            break;
           default:
             throw (new Exception("Unsupported provider!"));
         }
@@ -277,6 +298,9 @@ namespace SetupTv
           case ProviderType.MySql:
             stream = assm.GetManifestResourceStream("SetupTv." + prefix + "_mysql_database.sql");
             break;
+          case ProviderType.Sqlite:
+            stream = assm.GetManifestResourceStream("SetupTv." + prefix + "_sqlite_database.sql");
+            break;
         }
 
         schemaName = tbDatabaseName.Text;
@@ -295,6 +319,10 @@ namespace SetupTv
           case ProviderType.MySql:
             CommandScript = CleanMySqlStatement(sql);
             break;
+
+          case ProviderType.Sqlite:
+            CommandScript = CleanSqliteStatement(sql);
+            break;
         }
 
         // As the connection string sets the DB schema name we need to compose it after cleaning the statement.
@@ -375,6 +403,77 @@ namespace SetupTv
                 }
             }
             break;
+          case ProviderType.Sqlite:
+            // Creating a connection creates the database file if it does not already exist
+            using (SQLiteConnection connect = new SQLiteConnection(connectionString))
+            {
+              connect.Open();
+              if (CommandScript != null)
+              {
+                var scripts = new List<String>();
+
+                if (prefix == "create")
+                {
+                  // Drop all tables before recreating (to be sure we're starting from an empty DB)
+                  using (SQLiteCommand cmd = new SQLiteCommand("SELECT name FROM sqlite_master where type='table' ", connect))
+                  {
+                    cmd.CommandTimeout = 60;    // extra long 60 second timeout needed for long-running upgrade statements
+                    using (var dr = cmd.ExecuteReader())
+                    {
+                      while (dr.Read())
+                      {
+                        var tName = Convert.ToString(dr["name"]);
+                        if (!tName.StartsWith("sqlite_", StringComparison.InvariantCultureIgnoreCase))
+                        {
+                          scripts.Add($"DROP TABLE {tName}");
+                        }
+                      }
+                    }
+                  }
+                }
+
+                // Add the rest of the scripts
+                scripts.AddRange(CommandScript);
+
+                // Then run them onto the database
+                foreach (string SingleStmt in scripts)
+                {
+                  string SqlStmt = SingleStmt.Trim();
+                  if (!string.IsNullOrEmpty(SqlStmt) && !SqlStmt.StartsWith("--") && !SqlStmt.StartsWith("/*"))
+                  {
+                    try
+                    {
+                      using (SQLiteCommand cmd = new SQLiteCommand(SqlStmt, connect))
+                      {
+                        Log.Write("  Exec SQL: {0}", SqlStmt);
+                        cmd.CommandTimeout = 60;    // extra long 60 second timeout needed for long-running upgrade statements
+                        cmd.ExecuteNonQuery();
+                      }
+                    }
+                    catch (SQLiteException ex)
+                    {
+                      Log.Write("  ********* SQL statement failed! *********");
+                      Log.Write("  ********* Error reason: {0}", ex.Message);
+                      succeeded = false;
+                      if (connect.State != ConnectionState.Open)
+                      {
+                        Log.Write("  ********* Connection status = {0} - aborting further command execution..",
+                                  connect.State.ToString());
+                        break;
+                      }
+                    }
+                  }
+                }
+
+                if (prefix == "delete")
+                {
+                  // Delete the database file directly
+                  if (File.Exists(tbServerHostName.Text)) File.Delete(tbServerHostName.Text);
+                }
+
+              }
+            }
+            break;
         }
       }
       catch (Exception gex)
@@ -417,6 +516,14 @@ namespace SetupTv
       return sql.Split('#');
     }
 
+    private string[] CleanSqliteStatement(string sql)
+    {
+      string currentDir = Directory.GetCurrentDirectory();
+      currentDir += @"\";
+      sql = sql.Replace("--GO\r\n", "!");
+      return sql.Split('!');
+    }
+
     #endregion
 
     #region Connection test
@@ -426,27 +533,30 @@ namespace SetupTv
       btnTest.Enabled = false;
       try
       {
-        if (string.IsNullOrEmpty(tbUserID.Text))
-        {
-          tbUserID.BackColor = Color.Red;
-          MessageBox.Show("Please specify a valid database user!", "Specify user", MessageBoxButtons.OK,
-                          MessageBoxIcon.Error);
-          return;
-        }
-        if (string.IsNullOrEmpty(tbPassword.Text))
+        if (!rbSqlite.Checked)
         {
-          tbPassword.BackColor = Color.Red;
-          MessageBox.Show("Please specify a valid password for the database user!", "Specify password",
-                          MessageBoxButtons.OK, MessageBoxIcon.Error);
-          return;
-        }
-        if (string.IsNullOrEmpty(tbDatabaseName.Text) || tbDatabaseName.Text.ToLowerInvariant() == "mysql" ||
-            tbDatabaseName.Text.ToLowerInvariant() == "master")
-        {
-          tbDatabaseName.BackColor = Color.Red;
-          MessageBox.Show("Please specify a valid schema name!", "Specify schema name", MessageBoxButtons.OK,
-                          MessageBoxIcon.Error);
-          return;
+          if (string.IsNullOrEmpty(tbUserID.Text))
+          {
+            tbUserID.BackColor = Color.Red;
+            MessageBox.Show("Please specify a valid database user!", "Specify user", MessageBoxButtons.OK,
+                            MessageBoxIcon.Error);
+            return;
+          }
+          if (string.IsNullOrEmpty(tbPassword.Text))
+          {
+            tbPassword.BackColor = Color.Red;
+            MessageBox.Show("Please specify a valid password for the database user!", "Specify password",
+                            MessageBoxButtons.OK, MessageBoxIcon.Error);
+            return;
+          }
+          if (string.IsNullOrEmpty(tbDatabaseName.Text) || tbDatabaseName.Text.ToLowerInvariant() == "mysql" ||
+              tbDatabaseName.Text.ToLowerInvariant() == "master")
+          {
+            tbDatabaseName.BackColor = Color.Red;
+            MessageBox.Show("Please specify a valid schema name!", "Specify schema name", MessageBoxButtons.OK,
+                            MessageBoxIcon.Error);
+            return;
+          }
         }
 
         if (tbServerHostName.Text.ToLowerInvariant().IndexOf("localhost") >= 0 ||
@@ -463,7 +573,20 @@ namespace SetupTv
         //string TestDb = _dialogMode == StartupMode.Normal ? string.Empty : tbDatabaseName.Text;
         string TestDb = string.Empty; // don't check if DB exists, it will be created if needed
 
-        bool TestSuccess = rbSQLServer.Checked ? AttemptMsSqlTestConnect(TestDb) : AttemptMySqlTestConnect(TestDb);
+        bool TestSuccess = false;
+        if (rbSQLServer.Checked)
+        {
+          TestSuccess = AttemptMsSqlTestConnect(TestDb);
+        }
+        else if (rbMySQL.Checked)
+        {
+
+          TestSuccess = AttemptMySqlTestConnect(TestDb);
+        }
+        else
+        {
+          TestSuccess = AttemptSqliteTestConnect(TestDb);
+        }
 
         // Do not allow to "use" incorrect data
         if (_dialogMode != StartupMode.DbConfig)
@@ -575,6 +698,37 @@ namespace SetupTv
       return true;
     }
 
+    private bool AttemptSqliteTestConnect(string aTestDb)
+    {
+      provider = ProviderType.Sqlite;
+      string connectionString = ComposeConnectionString(tbServerHostName.Text, tbUserID.Text, tbPassword.Text, aTestDb,
+                                                        false, 5);
+
+      try
+      {
+        using (SQLiteConnection connect = new SQLiteConnection(connectionString))
+        {
+          connect.Open();
+          connect.Close();
+        }
+      }
+      catch (SQLiteException myex)
+      {
+        tbServerHostName.BackColor = Color.Red;
+        MessageBox.Show(this, "Connection failed!\n" + myex.Message);
+        return false;
+      }
+      catch (Exception ex)
+      {
+        tbServerHostName.BackColor = Color.Red;
+        MessageBox.Show(this, "Connection failed!\n" + ex.Message);
+        return false;
+      }
+      tbServerHostName.BackColor = Color.GreenYellow;
+      MessageBox.Show(this, "Connection succeeded!");
+      return true;
+    }
+
     #endregion
 
     /// <summary>
@@ -609,7 +763,18 @@ namespace SetupTv
       XmlNode nodeKey = doc.SelectSingleNode("/Gentle.Framework/DefaultProvider");
       XmlNode node = nodeKey.Attributes.GetNamedItem("connectionString");
       XmlNode nodeName = nodeKey.Attributes.GetNamedItem("name");
-      nodeName.InnerText = rbSQLServer.Checked ? "SQLServer" : "MySQL";
+      if (rbSQLServer.Checked)
+      {
+        nodeName.InnerText = "SQLServer";
+      }
+      else if (rbSqlite.Checked)
+      {
+        nodeName.InnerText = "SQLite";
+      }
+      else
+      {
+        nodeName.InnerText = "MySQL";
+      }
       node.InnerText = connectionString;
 
       string ServerName = ParseServerHostName(tbServerHostName.Text);
@@ -707,6 +872,30 @@ namespace SetupTv
               }
             }
             break;
+
+          case ProviderType.Sqlite:
+            {
+              using (SQLiteConnection connect = new SQLiteConnection(connectionString))
+              {
+                connect.Open();
+                using (SQLiteCommand cmd = connect.CreateCommand())
+                {
+                  cmd.CommandType = CommandType.Text;
+                  cmd.CommandText = "select * from Version";
+                  using (IDataReader reader = cmd.ExecuteReader())
+                  {
+                    if (reader != null)
+                      if (reader.Read())
+                      {
+                        currentSchemaVersion = Convert.ToInt32(reader["versionNumber"]);
+                        reader.Close();
+                        connect.Close();
+                      }
+                  }
+                }
+              }
+            }
+            break;
         }
         return currentSchemaVersion;
       }
@@ -893,13 +1082,28 @@ namespace SetupTv
       }
     }
 
+    private void rbSqlite_CheckedChanged(object sender, EventArgs e)
+    {
+      if (rbSqlite.Checked)
+      {
+        OnDBTypeSelected();
+        tbUserID.Text = "";
+        tbPassword.Text = "";
+        tbDatabaseName.Text = "";
+        tbServerHostName.Text = Path.Combine(PathManager.GetDataPath, "MpTvDb.s3db");
+        tbServiceDependency.Enabled = false;
+        tbServiceDependency.BackColor = tbServerHostName.BackColor;
+        tbServiceDependency.Text = @"";
+      }
+    }
+
     private void lblDBChoice_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
     {
       try
       {
         Process.Start("http://wiki.team-mediaportal.com/TV-Engine_0.3");
       }
-      catch (Exception) {}
+      catch (Exception) { }
     }
 
     private void tbPassword_KeyUp(object sender, KeyEventArgs e)
diff --git a/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.resx b/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.resx
index ff31a6d..c7e0d4b 100644
--- a/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.resx
+++ b/TvEngine3/TVLibrary/SetupTv/SetupDatabaseForm.resx
@@ -112,9 +112,9 @@
     <value>2.0</value>
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
 </root>
\ No newline at end of file
diff --git a/TvEngine3/TVLibrary/SetupTv/SetupTv.csproj b/TvEngine3/TVLibrary/SetupTv/SetupTv.csproj
index f835ff1..0263899 100644
--- a/TvEngine3/TVLibrary/SetupTv/SetupTv.csproj
+++ b/TvEngine3/TVLibrary/SetupTv/SetupTv.csproj
@@ -67,6 +67,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\TVDatabase\references\Gentle.Provider.MySQL.dll</HintPath>
     </Reference>
+    <Reference Include="Gentle.Provider.SQLite">
+      <HintPath>..\TVDatabase\references\Gentle.Provider.SQLite.dll</HintPath>
+    </Reference>
     <Reference Include="Gentle.Provider.SQLServer, Version=1.2.9.1289, Culture=neutral, PublicKeyToken=80b5de62e27be49b">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\TVDatabase\references\Gentle.Provider.SQLServer.dll</HintPath>
@@ -81,6 +84,10 @@
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
     <Reference Include="System.Data" />
+    <Reference Include="System.Data.SQLite, Version=1.0.48.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\TVDatabase\references\System.Data.SQLite.DLL</HintPath>
+    </Reference>
     <Reference Include="System.Deployment" />
     <Reference Include="System.Drawing" />
     <Reference Include="System.Management" />
@@ -381,9 +388,7 @@
     <EmbeddedResource Include="create_mysql_database.sql" />
     <EmbeddedResource Include="create_sqlserver_database.sql" />
     <EmbeddedResource Include="SetupTv.exe.manifest" />
-    <Compile Include="SearchSHOUTcast.cs">
-      <SubType>Form</SubType>
-    </Compile>
+    <Compile Include="SearchSHOUTcast.cs" />
     <Compile Include="Sections\CardAnalog.cs">
       <SubType>UserControl</SubType>
     </Compile>
@@ -691,10 +696,36 @@
     <EmbeddedResource Include="40_upgrade_sqlserver_database.sql" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="Resources\sqlite370_banner.gif" />
     <EmbeddedResource Include="60_upgrade_mysql_database.sql" />
     <EmbeddedResource Include="60_upgrade_sqlserver_database.sql" />
     <EmbeddedResource Include="61_upgrade_mysql_database.sql" />
     <EmbeddedResource Include="61_upgrade_sqlserver_database.sql" />
+    <EmbeddedResource Include="create_sqlite_database.sql" />
+    <EmbeddedResource Include="39_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="40_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="41_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="42_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="43_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="44_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="45_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="46_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="47_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="48_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="49_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="50_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="51_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="52_upgrade_sqllite_database.sql" />
+    <EmbeddedResource Include="53_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="54_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="55_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="56_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="57_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="58_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="59_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="60_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="61_upgrade_sqlite_database.sql" />
+    <EmbeddedResource Include="delete_sqlite_database.sql" />
     <Content Include="images\animation.SatDish.gif" />
     <Content Include="images\icon.card.gif" />
     <Content Include="images\icon.computer.gif" />
diff --git a/TvEngine3/TVLibrary/SetupTv/Startup.cs b/TvEngine3/TVLibrary/SetupTv/Startup.cs
index 2ac1e8d..61e7196 100644
--- a/TvEngine3/TVLibrary/SetupTv/Startup.cs
+++ b/TvEngine3/TVLibrary/SetupTv/Startup.cs
@@ -109,8 +109,8 @@ namespace SetupTv
       if (loggerName != null) loggerName = loggerName.Replace(".vshost", "");
 #endif
       CommonLogger.Instance = new CommonLog4NetLogger(loggerName, dataPath, loggerPath);
-      
-      
+
+
       Thread.CurrentThread.Name = "SetupTv";
 
       Process[] p = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
@@ -190,7 +190,7 @@ namespace SetupTv
           Log.Info("---- ask user for connection details ----");
           if (dlg.ShowDialog() != DialogResult.OK || startupMode != StartupMode.DeployMode)
             return; // close the application without restart here.
-          
+
           dlg.CheckServiceName();
           if (startupMode == StartupMode.DeployMode)
           {
@@ -211,7 +211,7 @@ namespace SetupTv
             dlg.tbServerHostName.Text = Dns.GetHostName();
             dlg.tbServiceDependency.Text = @"MySQL5";
           }
-          else
+          else if (DeploySql == "sqlserver")
           {
             dlg.provider = SetupDatabaseForm.ProviderType.SqlServer;
             dlg.rbSQLServer.Checked = true;
@@ -219,6 +219,11 @@ namespace SetupTv
             dlg.tbServerHostName.Text = Dns.GetHostName() + @"\SQLEXPRESS";
             dlg.tbServiceDependency.Text = @"SQLBrowser";
           }
+          // TODO: SqlLite deploy mode?
+          else
+          {
+            throw new ApplicationException("Unexpected connection type: " + DeploySql);
+          }
           dlg.tbPassword.Text = DeployPwd;
           dlg.tbDatabaseName.Text = dlg.schemaNameDefault;
           dlg.schemaName = dlg.schemaNameDefault;
@@ -229,7 +234,7 @@ namespace SetupTv
       {
         Log.Info("*****************************************************************");
         Log.Info("* WARNING, connection host ({0}) not officially supported *", dlg.tbServerHostName.Text);
-        Log.Info("*****************************************************************"); 
+        Log.Info("*****************************************************************");
       }
 
       if ((startupMode != StartupMode.Normal && startupMode != StartupMode.DeployMode) ||
diff --git a/TvEngine3/TVLibrary/SetupTv/create_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/create_sqlite_database.sql
new file mode 100644
index 0000000..7ef72c2
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/create_sqlite_database.sql
@@ -0,0 +1,357 @@
+
+CREATE TABLE ChannelGroup (
+	idGroup INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	groupName varchar(200) COLLATE NOCASE NOT NULL,
+	sortOrder INTEGER NOT NULL
+);
+--GO
+
+CREATE INDEX IDX_CG_SortOrder ON ChannelGroup 
+(
+	sortOrder ASC
+);
+--GO
+
+CREATE TABLE Setting (
+	idSetting INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	tag varchar(200) COLLATE NOCASE NOT NULL,
+	value varchar(4096) COLLATE NOCASE NOT NULL
+);
+--GO
+
+CREATE INDEX IDX_Setting_Tag ON Setting
+(
+	tag ASC
+);
+--GO
+
+CREATE TABLE TvMovieMapping (
+	idMapping INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	stationName varchar(200) COLLATE NOCASE NOT NULL,
+	timeSharingStart varchar(200) COLLATE NOCASE NOT NULL,
+	timeSharingEnd varchar(200) COLLATE NOCASE NOT NULL
+);
+--GO
+
+CREATE TABLE Satellite (
+	idSatellite INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	satelliteName varchar(200) COLLATE NOCASE NOT NULL,
+	transponderFileName varchar(200) COLLATE NOCASE NOT NULL
+);
+--GO
+
+CREATE TABLE ChannelLinkageMap (
+	idMapping INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idPortalChannel INTEGER NOT NULL,
+	idLinkedChannel INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE Keyword (
+	idKeyword INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	keywordName varchar(200) COLLATE NOCASE NOT NULL,
+	rating INTEGER NOT NULL,
+	autoRecord bit NOT NULL,
+	searchIn INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE Timespan (
+	idTimespan INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idKeyword INTEGER NOT NULL,
+	startTime datetime NOT NULL,
+	endTime datetime NOT NULL,
+	dayOfWeek INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE CardGroup (
+	idCardGroup INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	name varchar(255) COLLATE NOCASE NOT NULL
+);
+--GO
+
+CREATE TABLE RadioChannelGroup (
+	idGroup INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	groupName varchar(200) COLLATE NOCASE NOT NULL,
+	sortOrder INTEGER NOT NULL
+);
+--GO
+
+CREATE INDEX IDX_RCG_SortOrder ON RadioChannelGroup 
+(
+	sortOrder ASC
+);
+--GO
+
+CREATE TABLE Version (
+	idVersion INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	versionNumber INTEGER NOT NULL
+);
+--GO
+
+INSERT INTO Version (versionNumber) VALUES (38);
+--GO
+
+CREATE TABLE Server (
+	idServer INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	isMaster bit NOT NULL,
+	hostName varchar(256) COLLATE NOCASE NOT NULL
+);
+--GO
+
+CREATE TABLE Channel (
+	idChannel INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	name varchar(200) COLLATE NOCASE NOT NULL,
+	isRadio bit NOT NULL,
+	isTv bit NOT NULL,
+	timesWatched INTEGER NOT NULL,
+	totalTimeWatched datetime NOT NULL,
+	grabEpg bit NOT NULL,
+	lastGrabTime datetime NOT NULL,
+	sortOrder INTEGER NOT NULL,
+	visibleInGuide bit NOT NULL,
+	externalId varchar(200) COLLATE NOCASE NOT NULL,
+	freetoair bit NOT NULL,
+	displayName varchar(200) COLLATE NOCASE NOT NULL,
+	epgHasGaps bit NOT NULL
+);
+--GO
+
+UPDATE Channel SET epgHasGaps=0;
+--GO
+
+CREATE INDEX IX_Channel_IsTV ON Channel 
+(
+	isTv ASC,
+	sortOrder ASC
+);
+--GO
+
+CREATE TABLE KeywordMap (
+	idKeywordMap INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idKeyword INTEGER NOT NULL,
+	idChannelGroup INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE GroupMap (
+	idMap INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idGroup INTEGER NOT NULL,
+	idChannel INTEGER NOT NULL,
+	SortOrder INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE DisEqcMotor (
+	idDiSEqCMotor INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idCard INTEGER NOT NULL,
+	idSatellite INTEGER NOT NULL,
+	position INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE ChannelMap (
+	idChannelMap INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	idCard INTEGER NOT NULL,
+	epgOnly bit NOT NULL
+);
+--GO
+
+UPDATE ChannelMap SET epgOnly=0;
+--GO
+
+CREATE TABLE CardGroupMap (
+	idMapping INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idCard INTEGER NOT NULL,
+	idCardGroup INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE PersonalTVGuideMap (
+	idPersonalTVGuideMap INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idKeyword INTEGER NOT NULL,
+	idProgram INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE Favorite (
+	idFavorite INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idProgram INTEGER NOT NULL,
+	priority INTEGER NOT NULL,
+	timesWatched INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE CanceledSchedule (
+	idCanceledSchedule INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idSchedule INTEGER NOT NULL,
+	cancelDateTime datetime NOT NULL
+);
+--GO
+
+CREATE TABLE Conflict (
+	idConflict INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idSchedule INTEGER NOT NULL,
+	idConflictingSchedule INTEGER NOT NULL,
+	idChannel INTEGER NOT NULL,
+	conflictDate datetime NOT NULL,
+	idCard INTEGER NULL
+);
+--GO
+
+CREATE TABLE RadioGroupMap (
+	idMap INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idGroup INTEGER NOT NULL,
+	idChannel INTEGER NOT NULL,
+	SortOrder INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE Card (
+	idCard INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	devicePath varchar(2000) COLLATE NOCASE NOT NULL,
+	name varchar(200) COLLATE NOCASE NOT NULL,
+	priority INTEGER NOT NULL,
+	grabEPG bit NOT NULL,
+	lastEpgGrab datetime NOT NULL,
+	recordingFolder varchar(256) COLLATE NOCASE NOT NULL,
+	idServer INTEGER NOT NULL,
+	enabled bit NOT NULL,
+	camType INTEGER NOT NULL,
+	timeshiftingFolder varchar(256) COLLATE NOCASE NOT NULL,
+	recordingFormat INTEGER NOT NULL,
+	decryptLimit INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE Recording (
+	idRecording INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	startTime datetime NOT NULL,
+	endTime datetime NOT NULL,
+	title varchar(2000) COLLATE NOCASE NOT NULL,
+	description varchar(8000) COLLATE NOCASE NOT NULL,
+	genre varchar(200) COLLATE NOCASE NOT NULL,
+	fileName varchar(1024) COLLATE NOCASE NOT NULL,
+	keepUntil INTEGER NOT NULL,
+	keepUntilDate datetime NOT NULL,
+	timesWatched INTEGER NOT NULL,
+	idServer INTEGER NOT NULL,
+	stopTime INTEGER NOT NULL
+);
+--GO
+
+CREATE TABLE Program (
+	idProgram INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	startTime datetime NOT NULL,
+	endTime datetime NOT NULL,
+	title varchar(8000) COLLATE NOCASE NOT NULL, -- Actual length is not limited
+	description varchar(8000) COLLATE NOCASE NOT NULL, -- Actual length is not limited
+	seriesNum varchar(200) COLLATE NOCASE NOT NULL,
+	episodeNum varchar(200) COLLATE NOCASE NOT NULL,
+	genre varchar(200) COLLATE NOCASE NOT NULL,
+	originalAirDate datetime NOT NULL,
+	classification varchar(200) COLLATE NOCASE NOT NULL,
+	starRating INTEGER NOT NULL,
+	notify bit NOT NULL,
+	parentalRating INTEGER NOT NULL
+);
+--GO
+
+CREATE UNIQUE INDEX IX_Program_EPG_Lookup ON Program 
+(
+	idChannel ASC,
+	startTime ASC,
+	endTime ASC
+);
+--GO
+
+CREATE TABLE Schedule (
+	id_Schedule INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	scheduleType INTEGER NOT NULL,
+	programName varchar(256) COLLATE NOCASE NOT NULL,
+	startTime datetime NOT NULL,
+	endTime datetime NOT NULL,
+	maxAirings INTEGER NOT NULL,
+	priority INTEGER NOT NULL,
+	directory varchar(1024) COLLATE NOCASE NOT NULL,
+	quality INTEGER NOT NULL,
+	keepMethod INTEGER NOT NULL,
+	keepDate datetime NOT NULL,
+	preRecordInterval INTEGER NOT NULL,
+	postRecordInterval INTEGER NOT NULL,
+	canceled datetime NOT NULL,
+	recommendedCard INTEGER NOT NULL
+);
+--GO
+
+CREATE INDEX IDX_Schedule_ScheduleType ON Schedule
+(
+	scheduleType ASC
+);
+--GO
+
+CREATE TABLE TuningDetail (
+	idTuning INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	name varchar(200) COLLATE NOCASE NOT NULL,
+	provider varchar(200) COLLATE NOCASE NOT NULL,
+	channelType INTEGER NOT NULL,
+	channelNumber INTEGER NOT NULL,
+	frequency INTEGER NOT NULL,
+	countryId INTEGER NOT NULL,
+	isRadio bit NOT NULL,
+	isTv bit NOT NULL,
+	networkId INTEGER NOT NULL,
+	transportId INTEGER NOT NULL,
+	serviceId INTEGER NOT NULL,
+	pmtPid INTEGER NOT NULL,
+	freeToAir bit NOT NULL,
+	modulation INTEGER NOT NULL,
+	polarisation INTEGER NOT NULL,
+	symbolrate INTEGER NOT NULL,
+	diseqc INTEGER NOT NULL,
+	switchingFrequency INTEGER NOT NULL,
+	bandwidth INTEGER NOT NULL,
+	majorChannel INTEGER NOT NULL,
+	minorChannel INTEGER NOT NULL,
+	pcrPid INTEGER NOT NULL,
+	videoSource INTEGER NOT NULL,
+	tuningSource INTEGER NOT NULL,
+	videoPid INTEGER NOT NULL,
+	audioPid INTEGER NOT NULL,
+	band INTEGER NOT NULL,
+	satIndex INTEGER NOT NULL,
+	innerFecRate INTEGER NOT NULL,
+	pilot INTEGER NOT NULL,
+	rollOff INTEGER NOT NULL,
+	url varchar(200) COLLATE NOCASE NOT NULL,
+	bitrate INTEGER NOT NULL
+);
+--GO
+
+CREATE INDEX IX_TuningDetail_idChannel ON TuningDetail 
+(
+	idChannel ASC
+);
+--GO
+
+CREATE TABLE History (
+	idHistory INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+	idChannel INTEGER NOT NULL,
+	startTime datetime NOT NULL,
+	endTime datetime NOT NULL,
+	title varchar(1000) COLLATE NOCASE NOT NULL,
+	description varchar(1000) COLLATE NOCASE NOT NULL,
+	genre varchar(1000) COLLATE NOCASE NOT NULL,
+	recorded bit NOT NULL,
+	watched INTEGER NOT NULL
+);
+--GO
+
+
diff --git a/TvEngine3/TVLibrary/SetupTv/delete_sqlite_database.sql b/TvEngine3/TVLibrary/SetupTv/delete_sqlite_database.sql
new file mode 100644
index 0000000..8a5134b
--- /dev/null
+++ b/TvEngine3/TVLibrary/SetupTv/delete_sqlite_database.sql
@@ -0,0 +1 @@
+-- SQLite database file will be deleted outside of this script
\ No newline at end of file
diff --git a/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Common.dll b/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Common.dll
index 1aa4f8833520e68d22b35829206a58a2c61d8fc0..53229746e3fdfe5f76f99a5bff27d0fa6fb9c0f0 100644
GIT binary patch
diff --git a/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Framework.dll b/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Framework.dll
index 06d8b865a3e91d77e3b4dfacd4201f4d1b71a804..392cd908cd4b80e53892d658192bd8d581861401 100644
GIT binary patch
diff --git a/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Provider.Firebird.dll b/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Provider.Firebird.dll
index 0b03fae7b44008f0bead7d4bb2faf92dc715db46..9578fb15499e84841b0cef5c7de05b9f635263f2 100644
GIT binary patch
diff --git a/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Provider.MySQL.dll b/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Provider.MySQL.dll
index 2bcf9018f8204c023c81d4756076b249e9130696..2c7ce3f49504e688ac514e9dd0bcf17fa23af65a 100644
GIT binary patch
diff --git a/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Provider.SQLServer.dll b/TvEngine3/TVLibrary/TVDatabase/references/Gentle.Provider.SQLServer.dll
index 6ffe2eeb73683ecf1f1318cbe9e98e641d65cb6b..5213e1c1a5cd544e39a9435a1e7c3c04e222758e 100644
GIT binary patch
diff --git a/TvEngine3/TVLibrary/TvService/App.config b/TvEngine3/TVLibrary/TvService/App.config
index 02fec41..92c6ad2 100644
--- a/TvEngine3/TVLibrary/TvService/App.config
+++ b/TvEngine3/TVLibrary/TvService/App.config
@@ -33,4 +33,7 @@
     </assemblyBinding>
     <loadFromRemoteSources enabled="true"/>
   </runtime>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
+  <startup useLegacyV2RuntimeActivationPolicy="true">
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
+  </startup>
+</configuration>
diff --git a/TvEngine3/TVLibrary/TvService/TvService.csproj b/TvEngine3/TVLibrary/TvService/TvService.csproj
index d701d61..132a24e 100644
--- a/TvEngine3/TVLibrary/TvService/TvService.csproj
+++ b/TvEngine3/TVLibrary/TvService/TvService.csproj
@@ -65,6 +65,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\TVDatabase\references\Gentle.Provider.MySQL.dll</HintPath>
     </Reference>
+    <Reference Include="Gentle.Provider.SQLite">
+      <HintPath>..\TVDatabase\references\Gentle.Provider.SQLite.dll</HintPath>
+    </Reference>
     <Reference Include="Gentle.Provider.SQLServer, Version=1.2.9.1289, Culture=neutral, PublicKeyToken=80b5de62e27be49b">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\TVDatabase\references\Gentle.Provider.SQLServer.dll</HintPath>
@@ -76,6 +79,10 @@
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
     <Reference Include="System.Data" />
+    <Reference Include="System.Data.SQLite, Version=1.0.99.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\TVDatabase\references\System.Data.SQLite.DLL</HintPath>
+    </Reference>
     <Reference Include="System.Management" />
     <Reference Include="System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
@@ -200,7 +207,9 @@
     <None Include="..\..\..\Common-MP-TVE3\Gentle.config">
       <Link>Gentle.config</Link>
     </None>
-    <None Include="App.config" />
+    <None Include="App.config">
+      <SubType>Designer</SubType>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Service1.resx">
-- 
1.9.5.msysgit.0

