title: Why use Mono.Data.SQLite instead of System.Data.SQLite?
body: <p>There are two options for using System.Data.SQLite on Mono, instead of using Mono.Data.SQLite:</p>
  
  <ul>
  <li><p>Build System.Data.SQLite.dll with the <code>/property:UseSqliteStandard=true</code> option, meaning that it will load sqlite3.dll on Windows and the corresponding .so file on Linux (instead of the Windows native SQLite.Interop.dll).</p></li>
  <li><p>Build libSQLite.Interop.so on the target Mono machine, and use that in your application.</p></li>
  </ul>
  
  <p>I've tried both options and they work just fine on Debian and Raspbian.</p>
  
  <p><strong>This raises the question why, when and if Mono.Data.SQLite should be used instead of System.Data.SQLite?</strong> </p>
  
  <p>The System.Data.SQLite NuGet package gets updated more frequently than Mono.Data.SQLite (right now, it's more than 1.5 years newer and includes the fix for the DateTime conversion bug), so unless I'm missing something critical, it seems it would be an advantage to use System.Data.SQLite rather than the Mono variant. Or is there some iOS/Android specific code in Mono.Data.SQLite that makes it necessary for those platforms?</p>