Я запускаю новое веб-приложение. Он будет размещен в службе, которая взимает дополнительную плату за SQL Server, и, честно говоря, я не думаю, что сайту нужна такая большая часть базы данных. На данный момент модель данных составляет 5 таблиц. И я удивлюсь, если в самой большой таблице когда-либо будет 10k записей.
Так что я бы хотел, чтобы БД было легким. SQLite изначально заинтересовал меня, потому что мне нужно изучить его для Android. Но отсутствие внешних ключей заставляет меня съеживаться. Конечно, возможно реализовать что-то, что выглядит как ограничения внешнего ключа, но это просто кажется нереляционным. Firebird кажется единственным легким (и бесплатным) БД, который поддерживает FK.
Кроме того, я бы очень хотел промокнуть в LINQ с этим проектом. До сих пор я нашел только dbLINQ , который позволяет мне использовать SQLite или Firebird с LINQ. Это в настоящее время на v0.18, так что это далеко от прайм-тайм. Я запустил тесты для SQLite с помощью dbLinq, и они прошли то, что мне нужно.
Была еще одна реализация LINQ для SQLite, но все ссылки, которые я нашел для нее, заканчиваются в 404-х годах.
Так, каковы мои варианты для облегченных баз данных, которые совместимы с LINQ? Выпущены какие-либо компактные выпуски SQL Server, если только не существует развертываемой XCOPY без установки агента / службы ? Я не могу просить хоста установить новое программное обеспечение, поскольку сомневаюсь, что они это сделают, и я хочу, чтобы приложение было очень переносимым (по отношению к хостингу).
Список пока что:
- 1024 * SQLite *
- Firebird
- SQL Server Compact
- VistaDB
Обновление: Я перепробовал все версии и написал здесь свои впечатления . Краткая версия: SQLite выигрывает. Это единственный, который имеет хороший графический интерфейс, не требует установки и является бесплатным.