Я хочу расширить приложение 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.