Альтернатива SQL Server для простого веб-приложения - PullRequest
0 голосов
/ 22 августа 2009

У меня есть простое приложение, написанное с использованием SQL Server, Entity Framework, C # и WCF. Когда я захотел поделиться этим приложением с моими друзьями, я понял, что они не используют SQL Server на своей машине. Я мог бы пойти на выпуск SQL Server Express, поскольку использование моего приложения является личным и некоммерческим.

Я нашел MySQL как популярную альтернативу SQL Server.

1) Должен ли я обновлять свои сущности при переходе на MySQL?

2) Должен ли я ожидать изменения кода в моем слое BL из-за изменений в слое сущностей? (Мне интересно, были ли сущности созданы для SQL Server)

Существуют ли какие-либо базы данных, подобные MS Access, более легкие по сравнению с MySQL?

Существуют ли какие-либо базы данных, которые не нужно устанавливать, но которые можно копировать, например MS Access?

Ценю ваш ответ!

Ответы [ 6 ]

7 голосов
/ 22 августа 2009

Звучит так, как вы хотите SQLite .

SQLite - это программная библиотека, которая реализует автономный, без сервера, без конфигурации, ядро базы данных транзакций SQL.

Очень прост в развертывании. Также проверьте System.Data.SQLite .

Согласно странице System.Data.SQLite ...

Поддерживает почти все сущности функциональные рамки, которые Sql Сервер поддерживает и передает 99% тесты в демоверсии EFQuerySamples от MS применение.

Ты должен быть хорошим. :)

3 голосов
/ 22 августа 2009

Я не уверен, как выглядит ваш BLL, и у меня нет опыта работы со структурой сущностей, но я неоднократно отмечал, что linq-to-sql намного лучше работает с sql-сервером, чем с любой другой базой данных.

Так что, если у вас нет веской причины не использовать sql express, я бы советовал придерживаться sql express.

В конце концов, вы всегда должны устанавливать что-то при развертывании (если вы не используете xml в качестве хранилища, что вполне возможно при использовании linq-to-xml).

2 голосов
/ 22 августа 2009

Да, вы могли бы использовать MySql с EF, но я не знаю, потребует ли это каких-либо изменений .... Я не удивлюсь, если это произойдет. По крайней мере, ваша физическая БД должна быть портирована / преобразована в MySql, и это займет время.

Я бы предположил, что если вам нужно установить БД на ПК своих друзей, почему бы не придерживаться SQL Express, поскольку вы уже разработали SQL Server на своем компьютере. С этим должно быть меньше проблем, чем с переходом на MySql.

2 голосов
/ 22 августа 2009

Я думаю, что вы ищете, это просто смена поставщиков. Для работы с MySQL необходим .Net Connector , который поддерживает практически все простое. Он еще не очень зрелый, поэтому у вас могут возникнуть проблемы, но он должен делать большую часть того, что вы хотите через Entity Framework.

С Entity Framework да вы можете делать обновления, это LINQ-to-SQL, который не обновляется по сравнению с другими базами данных (если вы не используете стороннего поставщика, такого как DotConnect )

SQLite является одной из альтернатив, но поскольку несколько потоков против него могут вызвать серьезные проблемы с его работой, поэтому, если вам нужно основное хранилище данных, я бы выбрал SQLExpress или MySQL.

2 голосов
/ 22 августа 2009

VistaDB Express Edition также бесплатен для некоммерческого использования и хорошо интегрируется в .NET и VS. afaik также работает с одним локальным файлом данных, поэтому не требует специальной установки на компьютерах ваших друзей.

В противном случае я рекомендую использовать PostgreSQL поверх MySql, поскольку он более соответствует стандартам и имеет более хорошую лицензию.

0 голосов
/ 22 августа 2009

Я бы также проголосовал за VistaDB 3 , так как его легко развернуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...