Search code examples
sqlitexamarinandroid-sqlitexamarin.forms

sqlite-pcl vs sqlite-net xamarin component


I have installed sqlite-pcl, but there is also component for Xamarin sqlite-net.

What is the main difference between those references? And which of them has better performance?

As I know pcl doesn't support relationships (foreign key), but sqlite-net does. So I use [Indexed] attribute for better performance, does it make seance?


Solution

  • They are both based on the same Sqlite.Net library but the PCL project is a fork which tries to improve on the previous project:

    This is a fork of the original sqlite-net library (https://github.com/praeclarum/sqlite-net), which aims to improve the code quality by using modern technologies such as PCL (portable class library).

    The project will avoid the use of #if-based conditional code and use platform-specific code injection instead.

    I welcome pull requests, but keep in mind that this library is in heavy use and all changes must be:

    Backwards-compatible (don't change database defaults). Well tested (please add unit tests).

    Both don't support foreign keys. Performance-wise the PCL project supposed to be better, but that is untested as far as I know.