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