Существует ли оболочка.NET/C# для SQLite?

Я бы хотел использовать SQLite из C#.Net, но не могу найти подходящую библиотеку. Есть один? Официальный? Есть ли другие способы использовать SQLite, кроме как с оберткой?

12 ответов

Решение

С 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 года этой версии не было обновлений.

Полный список функций можно найти на их вики. Основные моменты включают

  • Поддержка ADO.NET 2.0
  • Полная поддержка Entity Framework
  • Полная поддержка Mono
  • Visual Studio 2005/2008 Поддержка времени разработки
  • Compact Framework, поддержка C/C++

Выпущенные DLL могут быть загружены непосредственно с сайта.

sqlite-net - это минимальная библиотека с открытым исходным кодом, позволяющая приложениям.NET и Mono хранить данные в базах данных SQLite 3. Больше информации на вики-странице.

Он написан на C# и предназначен для простой компиляции с вашими проектами. Сначала он был разработан для работы с MonoTouch на iPhone, но вырос на работу на всех платформах (Mono для Android, .NET, Silverlight, WP7, WinRT, Azure и т. Д.).

Он доступен в виде пакета Nuget, где он является вторым по популярности пакетом SQLite с более чем 60000 загрузок по состоянию на 2014 год.

sqlite-net был спроектирован как быстрый и удобный слой базы данных. Его дизайн вытекает из этих целей:

  • Очень легко интегрировать с существующими проектами и с проектами MonoTouch.
  • Тонкая оболочка над SQLite и должна быть быстрой и эффективной. (Библиотека не должна быть узким местом производительности ваших запросов.)
  • Очень простые методы безопасного выполнения CRUD-операций и запросов (с использованием параметров) и получения результатов этих запросов строго типизированным способом.
  • Работает с вашей моделью данных, не заставляя вас менять классы. (Содержит небольшой слой ORM, управляемый отражением.)
  • 0 зависимостей помимо скомпилированной формы библиотеки sqlite2.

Не цели включают в себя:

  • Не реализация ADO.NET. Это не полный драйвер SQLite. Если вам это нужно, используйте System.Data.SQLite.

Я бы определенно пошел с System.Data.SQLite (как упоминалось ранее: http://sqlite.phxsoftware.com/)

Он согласован с ADO.NET (System.Data.*) И скомпилирован в одну DLL. Нет sqlite3.dll - потому что код C SQLite встроен в System.Data.SQLite.dll. Немного управляемой магии C++.

Microsoft.Data.Sqlite

Microsoft теперь предоставляет Microsoft.Data.Sqlite в качестве первого решения SQLite для.NET, которое предоставляется как часть ASP.NET Core. Лицензия Apache License, версия 2.0.

* Отказ от ответственности: На самом деле я сам еще не пробовал использовать это, но здесь есть некоторая документация по Microsoft Docs для использования с.NET Core и UWP.

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.

Это кажется самым тонким из всех миров, сводя к минимуму вашу зависимость от сторонних библиотек. Если бы мне пришлось делать этот проект с нуля, я бы так и сделал.

Для таких, как я, которые не нуждаются или не хотят ADO.NET, те, кому нужно запускать код ближе к SQLite, но при этом совместимы с netstandard (.net Framework, .net core и т. д.), я создал 100% бесплатный проект с открытым исходным кодом под названием SQLNado (для "не ADO"), доступный на github здесь:

https://github.com/smourier/SQLNado

Примечание: на сегодняшний день он не доступен как nuget, но как отдельный файл.cs, поэтому его довольно удобно использовать в любом типе проекта C#.

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.

Баскетбольная оболочка функций, предоставляемых библиотекой sqlite. Последняя версия поддерживает функции, предоставляемые библиотекой sqlite 3.7.10

Проект SQLiteWrapper

Другие вопросы по тегам