Функциональность базы данных с приложением WPF: SQLite, SQL CE, другие?

Я хочу расширить приложение WPF функциональностью базы данных. Какой движок базы данных вы бы посоветовали и почему? SQLite, SQL CE, другое?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
33
0
20 511
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

В зависимости от используемых приложений, Я бы рекомендовал использовать SQL Lite, потому что он не требует установки какого-либо другого программного обеспечения (SQL CE или Express и т. д. Обычно требует отдельной установки).

Список наиболее важных преимуществ SQL Lite по ссылке поставщика внизу этого сообщения:

SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:

  • Zero-configuration - no setup or administration needed.
  • Implements most of SQL92. (Features not supported)
  • A complete database is stored in a single disk file.
  • Database files can be freely shared between machines with different byte orders.
  • Supports databases up to 2 terabytes (2^41 bytes) in size.
  • Small code footprint: less than 30K lines of C code, less than 250KB code space (gcc on i486)
  • Faster than popular client/server database engines for most common operations.
  • Simple, easy to use API.
  • Self-contained: no external dependencies.
  • Sources are in the public domain. Use for any purpose.

Поскольку вы используете WPF, я могу предположить, что вы используете как минимум .NET 3.0. Затем я бы порекомендовал перейти на .NET 3.5 SP1 (тот же размер, что и у .NET 3.5, но включает несколько улучшений производительности), который включает LINQ.

Однако при использовании SQLite вы можете использовать следующий поставщик SQLite, который должен обеспечивать поддержку LINQ: Поставщик ADO.NET с открытым исходным кодом для ядра СУБД SQLite.

SQL Server Compact Edition не требует отдельной установки. Как и SQL Lite, эта база данных представляет собой один файл.

Brad Leach 16.09.2008 07:29

Согласно тестам производительности (codeproject.com/Articles/220131/…) SQL Lite вовсе не быстрее! Вы должны удалить маркер из списка, чтобы не вводить людей в заблуждение.

Alexander Vasilyev 25.02.2015 18:45

Ссылка на поставщика ADO.NET с открытым исходным кодом для ядра базы данных SQLite больше не существует

Alex Jolig 12.08.2015 06:43

@BradLeach Конечно, SqlCE требует отдельной установки. Это просто быстро и просто.

Alex Jolig 12.08.2015 06:45

SQL Server Compact Edition не требует установки нет, поскольку он может быть доставлен вместе с вашим приложением в частном порядке. Мы используем этот подход, чтобы исключить его из списка «Установка и удаление программ». erikej.blogspot.com/2011/02/…

Matt Davis 14.01.2017 03:18

Производительность с 2017: diericx.net/post/benchmark-embedded-dotnet-databases

p__d 23.04.2018 12:15

Я согласен с тем, что SQLite - это то, что нужно. Subsonic 2.1 теперь также включает поддержку SQLite.

SQLite - действительно хороший продукт, хотя мне не хватает функций PostgreSQL. Существуют и другие базы данных, особенно не SQL, например Berkeley DB.

/ Аллан

Чтобы выразить иное мнение, мы использовали SQL Compact Edition в течение последнего года и в целом остались довольны. Конфигурация проста и очень похожа на обычную базу данных MS SQL. Не хватает чего-то, например триггеров и хранимых процедур, но в SQL 3.5 CE есть практически все, что нам нужно. Для установки требуется около 2 МБ .dll. Он предлагает шифрование базы данных, транзакции и поддерживает конструктор типизированных наборов данных VS (в версии 3.1 были некоторые проблемы, но CE 3.5 великолепен!).

Я использовал SQL Compact Edition со своим приложением WPF, и я доволен своим решением. Все просто работает (поскольку WPF и SQLCE - это MS, они прекрасно работают вместе), а установка среды выполнения достаточно мала и достаточно плавна для моих нужд. Я создал и модифицировал базу данных через визуальную студию.

Библиотеки DLL SQL CE могут быть упакованы в ваше собственное приложение и не требуют отдельной установки. Но MS предоставляет установочный пакет по умолчанию, если вы не хотите узнавать об установке ... и т. д.

Более того, SQL CE поддерживает частное развертывание.

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