ADO.NET limitations
Microsoft.Data.Sqlite provides implementations of many of the ADO.NET abstractions, but there are some limitations.
Database schema information
Metadata about query results is available using the GetSchemaTable method.
DbConnection.GetSchema()
isn't implemented. This API isn't well-defined, so we recommend retrieving database metadata directly using standard SQLite APIs like the sqlite_master table and the table_info PRAGMA.
For more information, see Metadata.
System.Transactions
Microsoft.Data.Sqlite doesn't yet support System.Transactions. Use ADO.NET transactions instead. For more information, see Transactions.
Provide feedback about the lack of support for System.Transactions on issue #13825.
Data adapters
DbDataAdapter
isn't yet implemented by Microsoft.Data.Sqlite. This means you can only use ADO.NET DataSet
and DataTable
to load data and not update it.
Use issue #13838 to provide feedback about implementing DbDataAdapter
.
Output parameters
SQLite doesn't support output parameters.
Positional parameters
Microsoft.Data.Sqlite only supports named parameters. Positional parameters aren't supported.
Stored procedures
SQLite doesn't support stored procedures.
Isolation levels
The Chaos
and Snapshot
isolation levels aren't supported in SQLite transactions.