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.