Possiamo sviluppare un'applicazione ASP.NET MVC con MySQL come database?

7

Ho visto principalmente siti Web ASP.NET che utilizzano MSSQL come database. Anche io ne ho sviluppato uno qualche tempo fa. Perché solo MSSQL, quando MySQL, è disponibile un'alternativa gratuita. Quindi, la domanda è: È possibile integrare un database MySQL con la stessa facilità di MSSQL con l'applicazione ASP.NET o abbiamo bisogno di usare qualche API per farlo ??

    
posta Pankaj Upadhyay 11.08.2011 - 16:09
fonte

5 risposte

6

Ho avuto un'app Web ASP.NET/C#/MySQL in esecuzione in produzione da circa 3 anni. Funziona bene. Lo uso anche per tutti i miei lavori secondari. Il connettore ADO.NET si collega a Visual Studio e funziona altrettanto bene come il connettore SQLSERVER. Ci sono alcuni trucchi però. 1 °, non c'è un equivalente gratuito di Management Studio di SQLSERVER per quanto ho trovato. Io uso Aqua Data Studio, ma costa un po '. Esistono alcuni RDMS gratuiti per MySQL, ma non sono affatto confrontabili con Management Studio. Ho sentito che eclipse ha un plugin per MySQL che è abbastanza buono e gratuito, e non l'ho provato. Inoltre, in MySQL non è possibile ALTERARE una procedura memorizzata, è possibile solo abbandonare e creare. Ciò causa alcuni dolori in A in visual studio.

Il connettore MySQL di ADO.NET è completamente polimorfico con gli spazi dei nomi System.Data e System.Data.SqlClient, quindi è facile avere contemporaneamente più versioni di un database per SQLSERVER e MySQL. Questo è utile se hai un cliente che è un crony di MS che dice cazzate come: "Siamo un microsoft solo negozio!" come se sapesse davvero di cosa sta parlando. Questo succede più di quanto potresti realizzare. Quindi, puoi semplicemente utilizzare il tuo vecchio codice SQLSERVER senza dover eseguire alcuna ulteriore codifica, se hai un buon design per cominciare.

La mia ultima critica è che MySQL è noto per non aver mantenuto la retrocompatibilità tra il connettore .NET e diverse versioni del loro motore DB. Questo va bene fintanto che si sta distribuendo il server con MySQL su di esso, ma se si sta distribuendo il sito su un provider di hosting, attenzione!

Vale la pena di fare uno sforzo extra a mio parere, sebbene abbia alcuni dei difetti intrinseci di molti progetti open source. È, secondo la mia esperienza, altrettanto scalabile e veloce di ms sqlserver, mentre se conosci T-SQL, raccoglierai la sintassi MySQL in tempi relativamente brevi.

    
risposta data 11.08.2011 - 17:28
fonte
14

ASP.NET come tecnologia web e non è legato ad alcun database specifico. Come tale, è possibile utilizzare NHibernate o metodi di accesso ai dati standard per connettersi a MySQL sul back-end.

    
risposta data 11.08.2011 - 16:14
fonte
2

Se passi da un database ad un altro durante il corso di un progetto, potresti avere delle attività puramente legate al database (migrazione dei dati) da eseguire se hai usato tipi specifici di Sql Server. Inoltre, se hai scritto stored procedure, devi riscriverle tutte.

Altrimenti, e per i nuovi progetti, nessun problema. Basta usare il connettore ADO.NET: link

E, come ha scritto Ryan, con ADO.NET puoi collegarti a qualsiasi database che desideri purché qualcuno abbia scritto il connettore per esso. E ci sono ... molti.

    
risposta data 11.08.2011 - 16:15
fonte
1

La tua applicazione può connettersi al database con la stessa facilità, ma potresti perdere alcune integrazioni di Visual Studio per SQL Server (progetti SQL Server). Se non ti interessa o non sei troppo attaccato a loro, allora non importa.

    
risposta data 11.08.2011 - 16:35
fonte
0

Puoi usare MySQL con ASP.NET MVC, come hanno già detto tutti gli altri. L'unica cosa che perderai è Integrazione CLR con SQL Server . È bello poter scrivere stored procedure in C # se si hanno calcoli complessi e questo è qualcosa che non si può duplicare usando MySQL.

    
risposta data 31.01.2012 - 16:27
fonte

Leggi altre domande sui tag