This thing supports user-defined functions, and the ProviderFactory model as well: To Quote:
- DbProviderFactory support, just add the XML below at the machine.config and/or app.config level.
- Full support for ATTACH'ed databases. Exposed as Catalogs in the
schema. When cloning a connection, all attached databases are automatically
re-attached to the new connection.
- DbConnection.GetSchema(...) support includes the MetaDataCollections,
DataSourceInformation, Columns, Tables, Views, Catalogs
and Indexes keywords.
- Enhanced DbDataReader.GetSchemaTable() functionality returns catalog, namespace
and detailed schema information even for complex queries.
- Named and unnamed parameters.
- Full UTF-8 and UTF-16 support.
- Multiple simultaneous DataReaders (one DataReader per Command however).
- Full support for user-defined scalar and aggregate functions, encapsulated into
easy-to-use base class in which only a couple of overrides are necessary to implement
new SQL functions.
- Full support for user-defined collating sequences, every bit as simple to implement
as user-defined functions and uses the same base class.
In order to use the SQLiteFactory and have the SQLite data provider enumerated in
the DbProviderFactories methods, you must add the following segment into either
your application's app.config or the system's machine.config located in the %SystemRoot%\Microsoft.Net\Framework\v2.xxxx\Config
<add name="SQLite Data Provider" invariant="System.Data.SQLite"
support="3F" description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
You can get your hands on these goodies here,
including the 3.21 version of the SQLite C++ sources as of today, May 25.
Thank YOO, Robert! One Swell Dewd!