Встроенная база данных для .net - PullRequest
17 голосов
/ 26 марта 2009

Мне нужна встроенная база данных для одного из наших приложений .net.

Эта база данных должна поддерживать sql (в отличие от Berkley).

Может кто-нибудь предложить какие-либо варианты.

Ответы [ 5 ]

24 голосов
/ 26 марта 2009

Основные варианты, которые я думаю:

13 голосов
/ 07 мая 2009

Я просто хотел поздороваться здесь с дополнительной информацией о VistaDB.

Наш синтаксис SQL очень близок к синтаксису SQL Server, и мы включаем хранимые процедуры TSQL и CLR.

Работает с вашим приложением, и вам нужно только развернуть 1 сборку как для 32, так и для 64-битного кода (100% управляемого кода). Вы не можете сделать это с SQL CE, так как у вас есть разные неуправляемые сборки, которые необходимо развернуть.

Вы можете встроить VistaDB в свое приложение и даже добавить его, изменить имя базы данных и т. Д., Чтобы полностью скрыть движок от ваших пользователей (некоторые люди действительно сильно этим занимаются).

И да, он также может работать на Mono, поскольку это 100% управляемый код. Есть еще несколько проблем (включая машины не-Intel Mono).

Полное раскрытие - я владелец компании

5 голосов
/ 26 марта 2009

SQL Server Compact Edition - разумный выбор для .NET compact framework. Я нашел Arcane Code очень полезным сайтом для изучения SSCE. Он MVP для SQL Server и специализируется на CE.

5 голосов
/ 26 марта 2009

Посмотрите на выпуск SQL Server Compact. Он запускается in-proc, представляет собой отдельный двоичный файл и хранит свои данные в одном файле и поддерживает параллелизм (в отличие от многих других встроенных БД, включая SQLite). Плюс у вас, вероятно, уже есть это, если вы используете Visual Studio. Наконец, это свободно использовать и распространять.

2 голосов
/ 26 марта 2009

Мне действительно нравится FirebirdSQL сам (также упомянутый CMS). Он может работать встроенным с Windows DLL, в iirc есть даже смешанный двоичный файл со встроенным драйвером ядра для этого. Он хорошо работает с ActiveRecord, а также с NHibernate. Большинство типов .Net легко отображаются.

Одним из преимуществ по сравнению с другими вариантами является переключение в режим СУБД - это всего лишь вопрос изменения строки запроса для использования сервера вместо встроенной версии. Вы также можете работать с ним в Linux (к сожалению, не во встроенном режиме), если у вас есть желание нацелиться на Mono в будущем.

...