Будет ли создание приложения с использованием файла базы данных Sql Server (mdf) быть ужасной идеей? - PullRequest
2 голосов
/ 30 августа 2008

Я работаю над сайд-проектом, который будет простым веб-приложением для ведения списка классов и их предстоящих расписаний.

Я бы очень хотел использовать Linq to SQL для этого проекта, но, к сожалению, для серверной среды, для которой я разрабатываю, доступен только MySql. Я немного поболтал с Subsonic, но он просто не справился с работой.

Требования к базе данных для этого приложения не так велики, поэтому мне любопытно, будет ли использование MDF-файла в App_Data подходящим решением. В противном случае, похоже, мне придется вручную писать SQL-запросы, которых я хочу избежать любой ценой.

Ответы [ 10 ]

11 голосов
/ 30 августа 2008

Взгляните на Microsoft SQL Server Compact Edition. Я считаю, что вы можете работать с файлами MDF без необходимости запуска сервера. Весь код выполняется в процессе. Я считаю, что у него есть некоторые ограничения, но он может работать для вас, и я думаю, что это бесплатно.

2 голосов
/ 21 июля 2009

Я давно завершил проект, который вызвал этот вопрос, но недавно у меня был другой проект с очень незначительными требованиями к данным, поэтому я потратил еще немного времени на эксперименты с этим.

Я предполагал, что Sql Server Express требует лицензионных сборов для развертывания, но на самом деле это не так. Согласно веб-сайту Microsoft, вы можете использовать его с определенными ограничениями:

  • Максимальный размер базы данных: 4 ГБ
  • Максимальная используемая память: 1 ГБ
  • Максимальное количество используемых процессоров: 1 (полный процесс, а не ядро)

Sql Server Compact - плохая идея для веб-приложений, поскольку для его работы требуется взлом, и он не создан для одновременного доступа к Интернету. Но если ваше приложение может соответствовать скромным ограничениям Sql Server Express, оно работает довольно хорошо. А поскольку он говорит на обычном T-SQL, как и его более крупные братья и сестры, вы можете использовать Linq для SQL вместе с ним.

Я слышал, что Linq к Sql поддержка теперь в багажнике Mono для выпуска 2.6, так L2S»плотно муфта Sql Server, вероятно, будет спорным вопросом в ближайшем будущем. Я либо в конечном итоге перенесу свой код для использования превосходящей реализации Monq в Linq для Sql на выбранную БД, либо пройду другой маршрут полностью (SubSonic улучшился стремительно с тех пор, как я в последний раз его пробовал). Но в настоящее время Sql Server Express является правильным выбором для очень небольших приложений на основе базы данных.

2 голосов
/ 30 августа 2008

Насколько мне известно, вы можете подключаться непосредственно к MDF (называемому «экземпляром пользователя», а не присоединять MDF к «экземпляру сервера»), только если на этом компьютере установлен SQL Server Express. Таким образом, на вашем компьютере, на котором установлен MySql, также должен работать SQL Server Express.

1 голос
/ 30 августа 2008

+ 1 для SQL Server Compact. Он бесплатный и не имеет «движка» в смысле полностью занятого сервиса, но вам нужно развернуть среду выполнения (это всего два DLL-файла).

1 голос
/ 30 августа 2008

Одним из немногих различий между SQL Server Express и «полным» SQL Server является возможность автоматического присоединения к файлам MDF - то, что Microsoft называет « xcopy deploy ».

SQL Server Express является бесплатным (как в пиве), поэтому, если у вас нет прав администратора на коробке для установки, это должно работать нормально.

1 голос
/ 30 августа 2008

Скорее всего, вы поместите базу данных Access в App_Data. Если вы используете файл MSSQL MDF, вам определенно потребуется MSSQL или MSSQL-Express.

Однако ваш вопрос сбивает с толку. Вы, кажется, обмениваетесь доступом к данным, ORM и фактической базой данных. Вы можете использовать SubSonic с MySQL, но не можете использовать LINQ to SQL с базами данных не MS или MS Access.

0 голосов
/ 20 июня 2009

вы не можете использовать SQL Server Compact с asp.net или веб-разработкой

0 голосов
/ 02 сентября 2008

+ 1 для SQL Server Compact. Он бесплатный и не имеет «движка» в смысле службы на полный рабочий день, но вам нужно развернуть среду выполнения (это всего два DLL-файла).

Работает ли с этим linq to sql?

0 голосов
/ 30 августа 2008

Похоже, я неправильно понял, как получить доступ к файлам mdf через .net. На сервере нет MS SQL Server, поэтому, похоже, я облажался.

0 голосов
/ 30 августа 2008

Я не понимаю ... что вы подразумеваете под "наличием файла MDF в App_Data"? Для этого вам нужна правильная установка SQL Server. Вы всегда можете использовать бесплатный SQL Server Express для разработки приложения, а затем переместить базу данных на нужный SQL Server, как только вы закончите. Отметьте здесь .

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