Было бы ли создание приложения с использованием файла базы данных Sql Server (mdf) ужасной идеей?

StackOverflow https://stackoverflow.com/questions/35232

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение 3

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

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

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

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

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

Другие советы

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

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

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

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

Одно из немногих различий между SQL Server Express и " полным " SQL Server - это возможность автоматически прикреплять к файлам MDF - что Microsoft называет xcopy. развертывание & Quot ;.

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

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

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

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

  

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top