Which one - System.Data.SQLite or Microsoft.Data.SQLite
(1) By AAsk (aa2e72e) on 2020-09-01 08:09:51 [link]
Which one is preferable/recommended for use with C#?
(2) By anonymous on 2020-09-01 15:55:37 in reply to 1
System.Data.SQLite is the official Nuget package from the SQLite maintainers. Generally speaking, System.Data.SQLite is more up-to-date with SQLite releases. Microsoft.Data.SQLite was designed to be a lightweight data provider for use with .Net Core. As of this writing, System.Data.SQLite (18.104.22.168) is based on the 3.32.1 release of SQLite while Microsoft.Data.SQLite (3.1.7) is based on the 3.28.0 release of SQLite. For more information see: https://docs.microsoft.com/en-us/dotnet/standard/data/sqlite/compare
(3) By AAsk (aa2e72e) on 2020-09-01 19:43:15 in reply to 2 [link]
Thanks. I've started separate projects with each package and SELECT SQLITE_VERSION(); confirms your statement relating to the respective version of SQLite in use by each package. Also, I have looked at the comparison. System.Data.SQLite seems to have a smaller footprint than Microsoft.Data.SQLite. Is there any difference in the SQL dialect of these packages?
(4) By Larry Brasfield (LarryBrasfield) on 2020-09-01 20:40:10 in reply to 3 [link]
> Is there any difference in the SQL dialect of these packages? You should read the [release version history](https://sqlite.org/changes.html) to answer that. It would be foolish and despicable of Microsoft to have forked SQLite and then keep their fork able to cough up version numbers tracking SQLite release version numbers. More likely, their binaries reflect build options suitable for the way their applications and OS components use the stock, SQLite library.
(5) By TripeHound on 2020-09-01 21:37:25 in reply to 3 [link]
You might also try running `pragma compile_options;` ([see docs](https://www.sqlite.org/pragma.html#pragma_compile_options)) to see how each has been built.