Construir um aplicativo usando um arquivo de banco de dados SQL Server (mdf) seria uma péssima ideia?

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Estou trabalhando em um projeto paralelo que seria uma aplicação web simples para manter uma lista de aulas e seus próximos horários.

Eu realmente gostaria de usar Linq to SQL para este projeto, mas infelizmente o ambiente de servidor para o qual estou desenvolvendo só tem MySql disponível.Eu me envolvi brevemente com o Subsonic, mas ele simplesmente não funciona.

Os requisitos de banco de dados para este aplicativo não são tão bons, então estou curioso para saber se usar um arquivo MDF em App_Data seria uma solução viável.Caso contrário, parece que terei que codificar manualmente as consultas SQL que desejo evitar a todo custo.

Foi útil?

Solução 3

Já concluí há muito tempo o projeto que gerou essa pergunta, mas recentemente tive outro projeto com requisitos de dados muito pequenos, então passei mais algum tempo experimentando isso.

Eu presumi que o Sql Server Express exigia taxas de licenciamento para implantação, mas esse não é o caso.De acordo com o site da Microsoft, você pode usá-lo com certas restrições:

  • Tamanho máximo do banco de dados:4GB
  • Memória máxima usada:1GB
  • Máximo de CPUs usadas:1 (processos completos, não núcleos)

O Sql Server Compact é uma má ideia para aplicativos da Web porque requer um hack para funcionar e não foi criado para o acesso simultâneo necessário para a Web.Mas se seu aplicativo puder se enquadrar nas modestas limitações do Sql Server Express, ele funcionará muito bem.E como ele fala T-SQL regular como seus irmãos maiores, você pode usar o Linq to SQL com ele.

eu ouvi isso O suporte Linq to Sql agora está no tronco Mono para a versão 2.6, portanto, o forte acoplamento do L2S ao Sql Server provavelmente será um ponto discutível no futuro próximo.Acabarei portando meu código para usar a implementação Linq to Sql superior do Mono no banco de dados de minha escolha ou irei outra rota inteiramente (O SubSonic melhorou muito desde a última vez que tentei).Mas, por enquanto, o Sql Server Express é uma escolha válida para aplicativos muito pequenos baseados em bancos de dados.

Outras dicas

Dê uma olhada no Microsoft SQL Server Compact Edition.Acredito que você pode trabalhar com arquivos MDF sem precisar rodar um servidor.Todo o código é executado em processo.Acredito que tenha algumas limitações, mas pode funcionar para você e acho que é grátis.

Até onde sei, você pode anexar diretamente ao MDF (chamado de "instância de usuário", em vez de anexar o MDF a uma "instância de servidor") somente se o SQL Server Express estiver instalado nessa máquina.Portanto, sua máquina que possui MySql também teria que executar o SQL Server Express.

É mais provável que você coloque um banco de dados do Access em App_Data.Se você estiver usando um arquivo MSSQL MDF, definitivamente ainda precisará do MSSQL ou do MSSQL-Express.

Sua pergunta é confusa, no entanto.Você parece trocar acesso a dados, ORM e o banco de dados real.Você pode usar o SubSonic com MySQL, mas não pode usar LINQ to SQL com bancos de dados que não sejam MS ou MS Access.

Uma das poucas diferenças entre o SQL Server Express e o SQL Server “completo” é a capacidade de anexar automaticamente arquivos MDF – o que a Microsoft chama de “implantação xcopy".

O SQL Server Express é gratuito (como na cerveja), portanto, a menos que você não tenha direitos de administrador na caixa para instalação, isso deve funcionar bem.

+1 para SQL Server Compact.É gratuito e não há 'mecanismo' no sentido de um serviço em tempo integral, mas você precisa implantar um tempo de execução (são apenas dois arquivos .dll).

Eu não entendo...o que você quer dizer com "ter um arquivo MDF em App_Data"?Você precisa de uma instalação adequada do SQL Server para que isso funcione.Você sempre pode usar o SQL Server Express gratuito para desenvolver o aplicativo e, em seguida, mover o banco de dados para o SQL Server adequado quando terminar.Verificar aqui.

Parece que não entendi como os arquivos mdf são acessados ​​através do .net.Não há MS SQL Server disponível no servidor, então parece que estou ferrado.

+1 para SQL Server Compact.É gratuito e não há 'mecanismo' no sentido de um serviço em tempo integral, mas você precisa implantar um tempo de execução (são apenas dois arquivos .dll).

O linq to sql funciona com isso?

você não pode usar o SQL Server Compact com asp.net ou desenvolvimento web

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top