title: SqlMetal fails to create DBML from Sqlite Database
body: <p>I'm trying to use the new Mono 2.6 SqlMetal tool to create the DBML file for a simple Sqlite Database.  The schema is really simple as follows:</p>
  
  <pre><code>CREATE TABLE Tags (
      Id              INTEGER PRIMARY KEY,
      TagName         TEXT,
      Description     TEXT);
  CREATE TABLE Trends (
      TagId           INTEGER NOT NULL,
      Timestamp       DATETIME NOT NULL,
      Value           TEXT,
      PRIMARY KEY (tagid, timestamp));
  </code></pre>
  
  <p>I am trying to create the DBML file using the following:</p>
  
  <pre><code>sqlmetal.exe /conn:"Data Source=MyDatabase.db" /namespace:MyNamespace /provider:Sqlite /dbml:MyDatabase.dbml
  </code></pre>
  
  <p>I get the following output:</p>
  
  <pre><code>&gt;&gt;&gt; Reading schema from SQLite database
  &lt;&lt;&lt; Writing file 'MyDatabase.dbml'
  sqlmetal failed:System.InvalidOperationException: There was an error reflecting type 'DbLinq.Schema.Dbml.Database'. ---&gt;
   System.InvalidOperationException: DbLinq.Schema.Dbml.Database is inaccessible due to its protection level. Only public types can be processed
    at System.Xml.Serialization.ReflectionHelper.CheckSerializableType (System.Type type, Boolean allowPrivateConstructors ) [0x00000] in &lt;filename unknown&gt;:0
    at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in &lt;filename unknown&gt;:0
    at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in &lt;filename unknown&gt;:0
    --- End of inner exception stack trace ---
    at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in &lt;filename unknown&gt;:0
    at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in &lt;filename unknown&gt;:0
    at System.Xml.Serialization.XmlSerializer..ctor (System.Type type, System.Xml.Serialization.XmlAttributeOverrides overrides, System.Type[] extraTypes, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in &lt;filename unknown&gt;:0  at System.Xml.Serialization.XmlSerializer..ctor (System.Type type) [0x00000] in &lt;filename unknown&gt;:0
    at DbLinq.Schema.Dbml.DbmlSerializer.Write (System.IO.Stream xmlStream, DbLinq.Schema.Dbml.Database dbml) [0x00000] in &lt;filename unknown&gt;:0
    at DbMetal.Generator.Implementation.Processor.WriteSchema (DbLinq.Schema.Dbml.Database dbSchema, ISchemaLoader schemaLoader, DbMetal.Parameters parameters) [0x00000] in &lt;filename unknown&gt;:0
    at DbMetal.Generator.Implementation.Processor.ProcessSchema (DbMetal.Parameters parameters) [0x00000] in &lt;filename unknown&gt;:0
  </code></pre>
  
  <p>I can use the /code option to create a C# code file, but it always fails when generating a DBML.</p>
  
  <p>Am I missing a subtle commandline option or is this new build of SqlMetal not working for Sqlite?</p>