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

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

Ответ 1

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

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

SQLite - небольшая библиотека C, которая реализует автономный, встраиваемый, нулевой конфигурации SQL двигатель базы данных. Особенности включают:

  • Нулевая конфигурация - нет настроек или требуется администрация.
  • Реализует большую часть SQL92. (Особенности не поддерживается)
  • Полная база данных хранится в файл с одним диском.
  • Файлы базы данных можно свободно использовать между машинами с различным байтом заказов.
  • Поддержка баз данных до 2 терабайт (2 ^ 41 байт).
  • Небольшой размер кода: менее 30 тыс. строки кода C, менее 250 КБ кодовое пространство (gcc на i486)
  • Быстрее, чем популярный клиент/сервер базы данных для наиболее распространенных операции.
  • Простой, простой в использовании API.
  • Автономный: нет внешних зависимостей.
  • Источники находятся в общественном достоянии. Используйте для любых целей.

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

/Allan

Ответ 6

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