SQLite- Net -Pcl в Xamarin.Forms - PullRequest
       11

SQLite- Net -Pcl в Xamarin.Forms

1 голос
/ 05 мая 2020

Я пытаюсь изучить SQLite и его использование из Xamarin.Forms. Я обнаружил, что рекомендуется установить Sqlite- net -pcl как пакет NuGet и использовать его для создания, открытия и изменения базы данных. До этого момента все нормально. Однако я изо всех сил пытаюсь найти более подробную информацию о Sqlite- net -pcl в Интернете. Похоже, что для этой библиотеки нет исчерпывающей документации. И эта реальность вызвала у меня в голове некоторые вопросы, на которые, как мне кажется, я мог бы получить ответ от старших сотрудников Stackoverflow:

1-Если нет документации по библиотеке, которую вы пытаетесь использовать, каков наилучший способ изучить это быстро? Пробная версия и ошибка? Думаю, в этом случае потребуется полная иерархия классов. 2-Как я понял, Sqlite- net -pcl - это частичная реализация Sqlite. Например, в документации Sqlite сказано, что внешний ключ поддерживается, но должен быть включен. Но я не смог найти этот атрибут в Sqlite- net -Pcl, когда использовал инструмент ObjectBrowser из VisualStudio.
3-Учитывая, что SQLite имеет лучшую поддержку, если я хочу использовать SQLite непосредственно в xamarin.forms (c#) вместо производных версий (Sqlite- net -pcl), как я могу этого добиться?

1 Ответ

0 голосов
/ 05 мая 2020

Предпочтительно использовать библиотеки 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, пожалуйста, обратите внимание на Ограничения миграции .

...