He tenido una aplicación web ASP.NET/C#/MySQL ejecutándose en producción durante aproximadamente 3 años. Corre bien También lo uso para todos mis trabajos paralelos. El conector ADO.NET se conecta a Visual Studio y funciona igual de bien que el conector SQLSERVER. Sin embargo, hay algunas trampas. Primero, no hay un equivalente gratuito de Management Studio de SQLSERVER por lo que he encontrado. Yo uso Aqua Data Studio, pero cuesta un poco. Hay algunos RDMS gratuitos para MySQL, pero de ninguna manera son comparables con Management Studio. Escuché que eclipse tiene un complemento para MySQL que es bastante bueno y gratuito, y no lo he probado. Además, en MySQL no puede ALTERAR un procedimiento almacenado, solo puede soltar y crear. Esto causa algunos dolores en la A en el estudio visual.
El conector MySQL de ADO.NET es totalmente polimórfico con los espacios de nombres System.Data y System.Data.SqlClient, por lo que es fácil tener múltiples versiones de una base de datos para SQLSERVER y MySQL simultáneamente. Esto es útil si tiene un cliente que es un amigo de MS que dice "¡Somos una tienda de Microsoft!" como si realmente supiera de qué está hablando. Esto sucede más de lo que te das cuenta. Luego, puede usar su antiguo código SQLSERVER sin tener que hacer ninguna codificación adicional, si tiene un buen diseño para empezar.
Mi última crítica es que MySQL es conocido por no mantener la compatibilidad con versiones anteriores entre el conector .NET y las diferentes versiones de su motor de base de datos. Esto está bien siempre que esté implementando el servidor con MySQL, pero si está implementando el sitio en un proveedor de alojamiento, ¡tenga cuidado!
En mi opinión, vale la pena el esfuerzo adicional, aunque tiene algunos de los defectos inherentes que tienen muchos proyectos de código abierto. En mi experiencia, es tan escalable y más rápido que ms sqlserver, mientras que si conoce T-SQL, aprenderá la sintaxis de MySQL con relativa rapidez.