Мне хотелось бы использовать SQLite из С#.Net, но я не могу найти подходящую библиотеку. Есть ли это? Официальный? Существуют ли другие способы использования SQLite, чем с оболочкой?
От https://system.data.sqlite.org:
System.Data.SQLite - это ADO.NET-адаптер для SQLite.
System.Data.SQLite был запущен Робертом Симпсоном. Роберт по-прежнему имеет привилегии в этом репозитории, но больше не является активным участником. Разработка и техническое обслуживание в настоящее время в основном выполняются командой разработчиков SQLite. Команда SQLite стремится поддерживать долговременную поддержку System.Data.SQLite.
"System.Data.SQLite - это исходный движок базы данных SQLite, и полный поставщик ADO.NET 2.0 все свертывается в единую сборку в смешанном режиме. Это полная замена для исходного sqlite3.dll(вы даже можете переименуйте его в sqlite3.dll). В отличие от обычных смешанных сборок, он не имеет зависимости от компоновщика в среде выполнения .NET, поэтому он может быть распространен независимо от .NET."
Он поддерживает Mono.
Вот те, которые я могу найти:
Источники:
Здесь также есть эта опция: http://code.google.com/p/csharp-sqlite/ - полный порт SQLite на С#.
Люди из sqlite.org взяли на себя разработку поставщика ADO.NET:
Это вилка популярного ADO.NET 4.0 для SQLite, известного как System.Data.SQLite. Создатель System.Data.SQLite, Роберт Симпсон, осознавая эту вилку, выразил свою утверждения и имеет новый репозиторий Fossil. SQLite команда разработчиков намерена поддерживать System.Data.SQLite продвигается вперед.
Исторические версии, а также оригинальные форумы поддержки, все еще могут быть найдено по адресу http://sqlite.phxsoftware.com, хотя не было никаких обновлений для этого с апреля 2010 года.
Полный список функций можно найти в в своей вики. Основные моменты включают
Выпущенные библиотеки DLL могут быть загружены непосредственно из сайта.
Я бы определенно пошел с System.Data.SQLite (как упоминалось ранее: http://sqlite.phxsoftware.com/)
Он согласован с ADO.NET(System.Data. *) и скомпилирован в одну DLL. Нет sqlite3.dll - потому что код C SQLite встроен в System.Data.SQLite.dll. Немного управляемой магии С++.
sqlite-net - это библиотека с открытым исходным кодом, минимальная библиотека, позволяющая приложениям .NET и Mono хранить данные в SQLite 3 базы данных. Дополнительная информация на странице wiki.
Он написан на С# и предназначен для простого компиляции с вашими проектами. Он был впервые разработан для работы с MonoTouch на iPhone, но вырос для работы на всех платформах (Mono для Android,.NET, Silverlight, WP7, WinRT, Azure и т.д.).
Он доступен как пакет Nuget, где он является вторым по популярности пакетом SQLite с более чем 60 000 загрузок с 2014 года.
sqlite-net был разработан как быстрый и удобный слой базы данных. Его дизайн следует из этих целей:
Без цели:
Моно поставляется с оберткой. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 дает код для обертывания фактической dll SQLite (http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip, найденный на странице загрузки http://www.sqlite.org/download.html/) дружественным способом .net. Он работает в Linux или Windows.
Это кажется самым тонким из всех миров, сводящим к минимуму вашу зависимость от сторонних библиотек. Если бы мне пришлось делать этот проект с нуля, я бы это сделал.
Для тех, кто, как я, которым не нужен или не нужен ADO.NET, тех, кому нужно запускать код ближе к SQLite, но при этом совместим с netstandard
(.net framework,.net core и т.д.), Я netstandard
100% бесплатный проект с открытым исходным кодом под названием SQLNado (для "не ADO"), доступный на github здесь:
https://github.com/smourier/SQLNado
Он доступен здесь как nuget https://www.nuget.org/packages/SqlNado, но также доступен в виде одного файла .cs, поэтому его довольно практично использовать в любом типе проекта С#.
Он поддерживает все функции SQLite при использовании команд SQL, а также поддерживает большинство функций SQLite через .NET:
Microsoft теперь предоставляет Microsoft.Data.Sqlite как первое решение SQLite для .NET, которое предоставляется как часть ASP.NET Core. Лицензия - Apache License, версия 2.0.
* Отказ от ответственности: я еще не пытался использовать это самостоятельно, но в документации Microsoft Docs здесь есть какая-то документация для использования с .NET Core и UWP.
Оболочка с баребонами функций, предоставляемая библиотекой sqlite. Последняя версия поддерживает функции, предоставляемые библиотекой sqlite 3.7.10
http://www.devart.com/dotconnect/sqlite/
dotConnect для SQLite - это расширенный поставщик данных для SQLite, который основывается на технологии ADO.NET, чтобы представить полное решение для разработки приложений баз данных на базе SQLite. В рамках платформы разработки приложений для базы данных Devart dotConnect для SQLite предлагает как высокопроизводительные собственные возможности подключения к базе данных SQLite, так и ряд инновационных инструментов и технологий разработки.
dotConnect для SQLite представляет новые подходы к проектированию архитектуры приложений, повышает производительность и использует реализацию приложений баз данных.
Я использую стандартную версию, она отлично работает:)
Версия 1.2 Monotouch включает поддержку System.Data. Вы можете найти более подробную информацию здесь: http://monotouch.net/Documentation/System.Data
Но в основном это позволяет использовать обычные ADO.NET-шаблоны с sqlite.