La mayoría de las veces he visto sitios web ASP.NET usando MSSQL como base de datos. Incluso desarrollé uno hace algún tiempo. ¿Por qué solo MSSQL, cuando MySQL, está disponible una alternativa gratuita? Entonces, la pregunta es, ¿ES posible integrar una base de datos MySQL tan fácilmente como MSSQL con la aplicación ASP.NET o necesitamos usar alguna API para hacerlo?
mysql
asp.net-mvc
Pankaj Upadhyay
fuente
fuente
Respuestas:
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.
fuente
ASP.NET como tecnología web y no está vinculado a ninguna base de datos específica. Como tal, puede usar NHibernate o métodos de acceso a datos estándar para conectarse a MySQL en el back-end.
fuente
Su aplicación puede conectarse a la base de datos con la misma facilidad, pero es posible que se esté perdiendo algunas de las integraciones de Visual Studio para SQL Server (Proyectos de SQL Server). Si no te importa o no estás demasiado apegado a ellos, entonces no importa.
fuente
Si está cambiando de una base de datos a otra durante el curso de un proyecto, es posible que tenga que realizar algunas tareas puramente relacionadas con la base de datos (migración de datos) si utiliza tipos específicos de SQL Server. Además, si escribió procedimientos almacenados, debe volver a escribirlos todos.
De lo contrario, y para nuevos proyectos, no hay problema en absoluto. Simplemente use el conector ADO.NET: http://dev.mysql.com/downloads/connector/net/
Y, como escribió Ryan, con ADO.NET puede conectarse a cualquier base de datos que desee siempre que alguien haya escrito el conector para ella. Y hay ... muchos.
fuente
Puede usar MySQL con ASP.NET MVC, como todos los demás han dicho antes. Lo único que perderá es la integración CLR con SQL Server . Es bueno poder escribir procedimientos almacenados en C # si tienes cálculos complejos y eso es algo que no puedes duplicar usando MySQL.
fuente