What you want is the GetSchema() function on the connection.
DbConnection cnn = new SQLiteConnection("Data Source=mydb.db3");
DataSet schemaSet = new DataSet();
string[] tableInfo = new string[] { null, null, "MyTable", null };
schemaSet.Add(cnn.GetSchema("Columns", tableInfo));
schemaSet.Add(cnn.GetSchema("Indexes", tableInfo));
schemaSet.Add(cnn.GetSchema("IndexColumns", tableInfo));
schemaSet.Add(cnn.GetSchema("ForeignKeys", tableInfo));
The above code will query all the available schema information for the table "MyTable" in the database "mydb.db3" and put it in a DataSet consisting of multiple data tables. You'll then have to wade through all that data and make sense of it :)
Robert