<title>Features</title>

<h2>Features</h2>

<ul>
  <li>
    Written from scratch on Visual Studio 2008 specifically for ADO.NET,
    implementing all the base classes and features recently introduced in the
    framework, including automatic transaction enlistment.
  </li>

  <li>
    Supports the Full and Compact .NET Framework, and native C/C++ development.
    100% binary compatible with the original sqlite3.dll.
  </li>

  <li>
    Full support for Mono via a &quot;managed only&quot; provider that runs
    against the official SQLite 3.6.1 or higher library.
  </li>

  <li>Full Entity Framework support (ADO.NET 3.5 SP1).</li>

  <li>
    On the Compact Framework, it is faster than SQL Server Mobile.  SQLite's
    installed size is a fraction of SQL Mobile's.  It uses less memory at
    runtime, runs queries faster, and has a smaller database file size as well.
  </li>

  <li>
    Encrypted database support.  Encrypted databases are fully encrypted and
    support both binary and cleartext password types.
  </li>

  <li>
    Visual Studio design-time Support, works with all versions of Visual Studio
    2005/2008/2010.  You can add a SQLite database to the Servers list, design
    queries with the Query Designer, drag-and-drop tables onto a Typed DataSet,
    etc.
    <br />
    <font color="red">
      Currently not included.  We are still updating the design-time support
      installer.  Due to Visual Studio licensing restrictions, the Express
      Editions can no longer be supported.
    </font>
  </li>

  <li>
    Full SQLite schema editing inside Visual Studio.  You can create/edit tables,
    views, triggers, indexes, check constraints and foreign keys.
  </li>

  <li>
    Single file redistributable (except on Compact Framework).  The core SQLite
    native code and the ADO.NET managed wrapper are combined into one mixed-mode
    assembly.
  </li>

  <li>
    Binaries included for x86, x64, Itanium, and ARM processors.
    <br />
    <font color="red">
      Itanium processor support not currently included.
    </font>
  </li>

  <li>DbProviderFactory support.</li>

  <li>
    Full support for ATTACH'ed databases.  Exposed as <i>Catalogs</i> in the
    schema.  When cloning a connection, all attached databases are automatically
    re-attached to the new connection.
  </li>

  <li>
    DbConnection.GetSchema(...) support includes <i>ReservedWords</i>,
    <i>MetaDataCollections</i>, <i>DataSourceInformation</i>, <i>DataTypes</i>,
    <i>Columns</i>, <i>Tables</i>, <i>Views</i>, <i>ViewColumns</i>,
    <i>Catalogs</i>, <i>Indexes</i>, <i>IndexColumns</i>, <i>ForeignKeys</i> and
    <i>Triggers</i>.
  </li>

  <li>
    Enhanced DbDataReader.GetSchemaTable() functionality returns catalog,
    namespace and detailed schema information even for complex queries.
  </li>

  <li>Named and unnamed parameters.</li>

  <li>
    Full UTF-8 and UTF-16 support, each with optimized pipelines into the native
    database core.
  </li>

  <li>
    Multiple simultaneous DataReaders (one DataReader per Command however).
  </li>

  <li>
    Full support for user-defined scalar and aggregate functions, encapsulated
    into an easy-to-use base class in which only a couple of overrides are
    necessary to implement new SQL functions.
  </li>

  <li>
    Full support for user-defined collating sequences, every bit as simple to
    implement as user-defined functions and uses the same base class.
  </li>

  <li>
    Full source for the entire engine and wrapper.  No copyrights.  Public
    Domain.  100% free for commercial and non-commercial use.
  </li>
</ul>
