Costruire un'applicazione utilizzando un file di database SQL Server (mdf) sarebbe una pessima idea?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Sto lavorando a un progetto parallelo che sarebbe una semplice applicazione web per mantenere un elenco di lezioni e i loro prossimi orari.

Mi piacerebbe davvero utilizzare Linq to SQL per questo progetto, ma sfortunatamente l'ambiente server per cui sto sviluppando ha solo MySql disponibile.Mi sono dilettato brevemente con Subsonic ma semplicemente non porta a termine il lavoro.

Tuttavia, i requisiti del database per questa applicazione non sono eccezionali, quindi sono curioso di sapere se l'utilizzo di un file MDF in App_Data sarebbe una soluzione praticabile.Altrimenti, sembra che dovrò codificare manualmente le query SQL che voglio evitare a tutti i costi.

È stato utile?

Soluzione 3

Ho completato da tempo il progetto che ha sollevato questa domanda, ma recentemente mi è arrivato un altro progetto con requisiti di dati molto minori, quindi ho trascorso un po' più di tempo a sperimentare questo.

Avevo supposto che SQL Server Express richiedesse costi di licenza per la distribuzione, ma in realtà non è così.Secondo il sito Web di Microsoft, sei libero di utilizzarlo con alcune restrizioni:

  • Dimensione massima del database:4GB
  • Memoria massima utilizzata:1GB
  • Numero massimo di CPU utilizzate:1 (processi completi, non core)

Sql Server Compact è una cattiva idea per le applicazioni Web perché richiede un hack per farlo funzionare e non è progettato per l'accesso simultaneo necessario per il Web.Ma se la tua applicazione rientra nei limiti modesti di Sql Server Express, funziona abbastanza bene.E poiché parla T-SQL normale come i suoi fratelli maggiori, puoi utilizzare Linq to SQL con esso.

L'ho sentito Il supporto Linq to SQL è ora nel trunk Mono per la versione 2.6, quindi lo stretto accoppiamento di L2S con SQL Server sarà probabilmente un punto controverso nel prossimo futuro.Finirò per trasferire il mio codice per utilizzare l'implementazione Linq to SQL superiore di Mono sul database di mia scelta, oppure andrò completamente un altro percorso (SubSonic è migliorato a passi da gigante dall'ultima volta che l'ho provato).Ma per il momento Sql Server Express è una scelta valida per app molto piccole basate su database.

Altri suggerimenti

Dai un'occhiata a Microsoft SQL Server Compact Edition.Credo che tu possa lavorare con i file MDF senza dover eseguire un server.Tutto il codice viene eseguito in processo.Credo che abbia alcune limitazioni ma potrebbe funzionare per te e penso che sia gratuito.

Per quanto ne so, è possibile collegarsi direttamente all'MDF (chiamato "istanza utente", anziché collegare l'MDF a un'"istanza server") solo se SQL Server Express è installato su quella macchina.Quindi la tua macchina su cui è installato MySql dovrebbe eseguire anche SQL Server Express.

Più probabilmente inseriresti un database Access in App_Data.Se utilizzi un file MDF MSSQL, avrai sicuramente ancora bisogno di MSSQL o MSSQL-Express.

La tua domanda, tuttavia, è confusa.Sembra che tu stia scambiando l'accesso ai dati, l'ORM e il database vero e proprio.È possibile utilizzare SubSonic con MySQL, ma non è possibile utilizzare LINQ to SQL con database non MS o MS Access.

Una delle poche differenze tra SQL Server Express e SQL Server "completo" è la capacità di allegare automaticamente i file MDF, ciò che Microsoft chiama "distribuzione xcopy".

SQL Server Express è gratuito (come nel caso della birra), quindi a meno che non si disponga dei diritti di amministratore sulla confezione per l'installazione, dovrebbe funzionare correttamente.

+1 per SQL Server Compact.È gratuito e non esiste un "motore" nel senso di un servizio a tempo pieno, ma devi distribuire un runtime (sono solo due file .dll).

Non capisco...cosa intendi con "avere un file MDF in App_Data"?Affinché funzioni, è necessaria una corretta installazione di SQL Server.Puoi sempre utilizzare SQL Server Express gratuito per sviluppare l'applicazione e quindi spostare il database sull'SQL Server corretto una volta terminato.Controllo Qui.

Sembra che io abbia frainteso il modo in cui si accede ai file MDF tramite .net.Non c'è MS SQL Server disponibile sul server, quindi sembra che io sia fregato.

+1 per SQL Server Compact.È gratuito e non esiste un "motore" nel senso di un servizio a tempo pieno, ma devi distribuire un runtime (sono solo due file .dll).

Linq to SQL funziona comunque?

non è possibile utilizzare SQL Server Compact con asp.net o lo sviluppo web

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top