Skip to content

Add SQLite ADO.NET schema collections #39190

Closed as not planned
Closed as not planned

Description

@alaricd

Microsoft.Data.Sqlite currently does not implement the standard ADO.NET metadata collections exposed through DbConnection.GetSchema(...). For example:

using var connection = new SqliteConnection("Data Source=:memory:");
connection.GetSchema("DataSourceInformation");
// ArgumentException: The requested collection 'DataSourceInformation' is not defined.

This makes SQLite an outlier for provider-agnostic code. SqlClient, Npgsql, and MySqlConnector expose DataSourceInformation and DataTypes, so consumers otherwise have to special-case Microsoft.Data.Sqlite. In particular, pengdows.crud discovers SQLite parameter-marker syntax through DataSourceInformation.

The initial conformance scope should cover the documented common collections: MetaDataCollections, DataSourceInformation, DataTypes, Restrictions, and ReservedWords. Tables, Columns, and Indexes are provider-specific extensions rather than common collections; they may be considered separately if useful for SQLite consumers.

The implementation should use SQLite's documented metadata interfaces and correctly handle attached databases, virtual tables, shadow tables, and user tables whose names begin with sqlite.

Activity

  1. MihuBot commented on Oct 7, 2026

    @MihuBot

    I'm a bot. Here is a possible related and/or duplicate issue (I may be wrong):

  2. alaricd commented on Oct 7, 2026

    @alaricd
    ContributorAuthor

    Closing this as a duplicate of #35917, which tracks the same Microsoft.Data.Sqlite GetSchema() support question and is now the upstream discussion for the comparative provider research. The implementation work remains on #39188.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions