Мне хотелось бы использовать SQLite из С#.Net, но я не могу найти подходящую библиотеку. Есть ли это? Официальный? Существуют ли другие способы использования SQLite, чем с оболочкой?
Есть ли .NET/С# оболочка для SQLite?
Ответ 1
От 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.
Ответ 2
Вот те, которые я могу найти:
- managed-sqlite
- Оболочка SQLite.NET
- System.Data.SQLite
Источники:
- sqlite.org
- другие плакаты
Ответ 3
Здесь также есть эта опция: http://code.google.com/p/csharp-sqlite/ - полный порт SQLite на С#.
Ответ 4
Люди из 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
- Поддержка Full Entity Framework
- Поддержка Full Mono
- Поддержка Visual Studio 2005/2008 Design-Time
- Поддержка Compact Framework, C/С++
Выпущенные библиотеки DLL могут быть загружены непосредственно из сайта.
Ответ 5
Я бы определенно пошел с System.Data.SQLite (как упоминалось ранее: http://sqlite.phxsoftware.com/)
Он согласован с ADO.NET(System.Data. *) и скомпилирован в одну DLL. Нет sqlite3.dll - потому что код C SQLite встроен в System.Data.SQLite.dll. Немного управляемой магии С++.
Ответ 6
sqlite-net - это библиотека с открытым исходным кодом, минимальная библиотека, позволяющая приложениям .NET и Mono хранить данные в SQLite 3 базы данных. Дополнительная информация на странице wiki.
Он написан на С# и предназначен для простого компиляции с вашими проектами. Он был впервые разработан для работы с MonoTouch на iPhone, но вырос для работы на всех платформах (Mono для Android,.NET, Silverlight, WP7, WinRT, Azure и т.д.).
Он доступен как пакет Nuget, где он является вторым по популярности пакетом SQLite с более чем 60 000 загрузок с 2014 года.
sqlite-net был разработан как быстрый и удобный слой базы данных. Его дизайн следует из этих целей:
- Очень легко интегрироваться с существующими проектами и с проектами MonoTouch.
- Тонкая оболочка над SQLite и должна быть быстрой и эффективной. (Библиотека не должна быть узким местом ваших запросов.)
- Очень простые методы для выполнения операций и запросов CRUD безопасно (с использованием параметров) и для получения результатов этого запроса строго типизированным способом.
- Работает с вашей моделью данных, не заставляя вас менять свои классы. (Содержит небольшой слой ORM, управляемый отражением).
- 0, кроме скомпилированной формы библиотеки sqlite2.
Без цели:
- Не реализация ADO.NET. Это не полный драйвер SQLite. Если вам это нужно, используйте System.Data.SQLite.
Ответ 7
Моно поставляется с оберткой. 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.
Это кажется самым тонким из всех миров, сводящим к минимуму вашу зависимость от сторонних библиотек. Если бы мне пришлось делать этот проект с нуля, я бы это сделал.
Ответ 8
Microsoft.Data.Sqlite
Microsoft теперь предоставляет Microsoft.Data.Sqlite как первое решение SQLite для .NET, которое предоставляется как часть ASP.NET Core. Лицензия - Apache License, версия 2.0.
* Отказ от ответственности: я еще не пытался использовать это самостоятельно, но в документации Microsoft Docs здесь есть какая-то документация для использования с .NET Core и UWP.
Ответ 9
Для тех, кто, как я, которым не нужен или не нужен 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:
- Автоматическое сопоставление классов и таблиц (Сохранить, Удалить, Загрузить, LoadAll, LoadByPrimaryKey, LoadByForeignKey и т.д.)
- Автоматическая синхронизация схемы (таблицы, столбцы) между классами и существующей таблицей
- Предназначен для поточно-ориентированных операций
- Где и OrderBy поддерживаются выражения LINQ/IQueryable.NET (работа в этой области еще продолжается), также с поддержкой сортировки
- Схема базы данных SQLite (таблицы, столбцы и т.д.), Доступная для .NET
- Пользовательские функции SQLite могут быть написаны в .NET
- Инкрементальный ввод-вывод больших двоичных объектов SQLite отображается как поток .NET, чтобы избежать высокого потребления памяти.
- Поддержка сортировки SQLite, включая возможность добавления пользовательских сортировок с использованием кода .NET
- Поддержка механизма полнотекстового поиска SQLite (FTS3/4), включая возможность добавления пользовательских токенизаторов FTS3 с использованием кода .NET
- Автоматическая поддержка Windows 'winsqlite3.dll' (только в последних версиях Windows), чтобы избежать доставки любого двоичного файла зависимостей. Это работает и в веб-приложениях Azure!
Ответ 10
Версия 1.2 Monotouch включает поддержку System.Data. Вы можете найти более подробную информацию здесь: http://monotouch.net/Documentation/System.Data
Но в основном это позволяет использовать обычные ADO.NET-шаблоны с sqlite.
Ответ 11
http://www.devart.com/dotconnect/sqlite/
dotConnect для SQLite - это расширенный поставщик данных для SQLite, который основывается на технологии ADO.NET, чтобы представить полное решение для разработки приложений баз данных на базе SQLite. В рамках платформы разработки приложений для базы данных Devart dotConnect для SQLite предлагает как высокопроизводительные собственные возможности подключения к базе данных SQLite, так и ряд инновационных инструментов и технологий разработки.
dotConnect для SQLite представляет новые подходы к проектированию архитектуры приложений, повышает производительность и использует реализацию приложений баз данных.
Я использую стандартную версию, она отлично работает:)
Ответ 12
Оболочка с баребонами функций, предоставляемая библиотекой sqlite. Последняя версия поддерживает функции, предоставляемые библиотекой sqlite 3.7.10