Предпочтительно использовать библиотеки SQLite- net. Они просто оболочка вокруг потока SQLite. У вас есть все, что вам нужно. Кроме того, если вы хотите использовать ORM, вы также можете использовать EntityFrameworkCore через Microsoft.EntityFrameworkCore.Sqlite
Как сказано в репозитории GitHub :
SQLite- net - это минимальная библиотека с открытым исходным кодом, позволяющая. NET, NET Core и приложения Mono для хранения данных в базах данных SQLite 3. Сначала он был разработан для работы с Xamarin. iOS, но с тех пор вырос для работы на всех платформах (Xamarin. *,. NET, UWP, Azure, et c.).
По поводу внешнего ключа - никаких ограничений нет. Вы можете использовать его свободно, без «включения».
Есть и другие варианты, например Microsoft.Data.SQLite
и System.Data.SQLite
, но я не пробовал их с Xamarin, и, если они работают, я не думаю, что у них будет лучшая поддержка Mono, как у вас с SQLite- net. Последний также постоянно обновляется.
Здесь - это официальное руководство от Microsoft по использованию sqlite- net -pcl
Если вы хотите использовать ORM, вы можете следовать этой статье из официальных документов о том, как настроить библиотеки SQLite вместе с пакетами EFCore, миграциями и т. д. c.
Если вы решите использовать EFCore, пожалуйста, обратите внимание на Ограничения миграции .