Bisakah kita mengembangkan aplikasi ASP.NET MVC dengan database MySQL?

8

Saya sebagian besar telah melihat situs web ASP.NET menggunakan MSSQL sebagai basis data. Bahkan saya mengembangkannya beberapa waktu lalu. Mengapa hanya MSSQL, ketika MySQL, alternatif gratis tersedia. Jadi, pertanyaannya adalah, apakah mungkin untuk mengintegrasikan database MySQL semudah MSSQL dengan aplikasi ASP.NET atau kita perlu menggunakan beberapa API untuk melakukannya ??

Pankaj Upadhyay
sumber
8
SqlServer Express - yang sangat umum digunakan oleh pengembang MS-stack - juga gratis.
Adam Crossland
Lalu mengapa orang memilih MSSQL melalui MySQL jika integrasi cukup mudah. Biaya bukanlah faktor besar tetapi masih merupakan faktor. Keduanya sama-sama bagus, tetapi MySQL gratis
Pankaj Upadhyay
2
Integrasi di luar kotak dengan SQL Server adalah titik penjualan besar dan Visual Studio dikirimkan dengan semua jenis alat mewah yang membuatnya mudah untuk menghasilkan model dan entitas. Itulah alasan yang sama kombo PHP-MySQL menjadi sangat populer: cepat dan mudah.
Jarrod Nettles
3
Setelah Anda menghitung dalam waktu pengembang, mungkin lebih murah untuk menggunakan MS SQL Server daripada MySQL.
Boris Yankov
3
Seberapa baik alat MS bekerja dengan MySQL? Seberapa mudah bagi pengembang yang tahu MS-SQL dan alat-alatnya untuk mengubah segalanya ke cara MySQL? Itu biaya yang tidak Anda pertimbangkan di sini.
JB King

Jawaban:

7

Saya telah memiliki aplikasi web ASP.NET/C#/MySQL berjalan dalam produksi selama sekitar 3 tahun sekarang. Ini berjalan dengan baik. Saya juga menggunakannya untuk semua pekerjaan sampingan saya juga. Konektor ADO.NET dihubungkan ke studio visual dan berfungsi sama baiknya dengan konektor SQLSERVER. Ada beberapa gotcha. 1, tidak ada yang setara dengan Management Studio SQLSERVER sejauh yang saya temukan. Saya menggunakan Aqua Data Studio, tetapi biayanya sedikit. Ada beberapa RDMS gratis untuk MySQL, tetapi sama sekali tidak sebanding dengan Management Studio. Saya mendengar eclipse memiliki plugin untuk MySQL yang cukup bagus dan gratis, dan saya belum mencobanya. Juga, di MySQL Anda tidak dapat mengubah prosedur yang tersimpan, Anda hanya bisa menjatuhkan dan membuat. Ini menyebabkan beberapa rasa sakit di A di studio visual.

Konektor MySQL ADO.NET sepenuhnya polimorfik dengan namespace System.Data dan System.Data.SqlClient sehingga mudah untuk memiliki beberapa versi database untuk SQLSERVER dan MySQL secara bersamaan. Ini berguna jika Anda memiliki pelanggan yang merupakan kroni MS yang mengatakan omong kosong seperti, "Kami hanya toko microsoft!" seolah-olah dia benar-benar tahu apa yang dia bicarakan. Ini terjadi lebih dari yang mungkin Anda sadari. Kemudian, Anda bisa menggunakan kode SQLSERVER lama Anda tanpa harus melakukan pengkodean tambahan - jika Anda memiliki desain yang baik untuk memulai.

Kritik terakhir saya adalah bahwa MySQL terkenal tidak menjaga kompatibilitas mundur antara konektor .NET dan versi berbeda dari mesin DB mereka. Ini bagus selama Anda menggunakan server dengan MySQL di atasnya, tetapi jika Anda menempatkan situs ke penyedia hosting, berhati-hatilah!

Ini sepadan dengan usaha ekstra menurut saya, meskipun ia memiliki beberapa kelemahan yang melekat pada banyak proyek open source. Ini, menurut pengalaman saya, sama scalable dan lebih cepat dari ms sqlserver, sedangkan jika Anda tahu T-SQL, Anda akan mengambil sintaks MySQL relatif cepat.

Jonathan Henson
sumber
terima kasih sobat, itu benar-benar membantu dan jawaban yang bagus untuk pertanyaan saya
Pankaj Upadhyay
1
Anda dapat menggunakan MySql Workbench , yang gratis dan mirip dengan MSSQL Server Management Studio
Jetti
@Jetti Memang Anda bisa, dan rilis terbaru cukup bagus. Itu masih tidak memegang lilin ke Studio Manajemen. Namun, saya benar-benar menyukai Aqua Data Studio. Saya menggunakannya untuk semua proyek DB saya - SQLSERVER, MySQL, Oracle dan sebagainya ...
Jonathan Henson
15

ASP.NET sebagai teknologi web dan tidak terikat pada basis data tertentu. Dengan demikian, Anda dapat menggunakan metode NHibernate atau akses data standar untuk terhubung ke MySQL di backend.

Ryan Hayes
sumber
2

Aplikasi Anda dapat terhubung ke database dengan mudah, tetapi Anda mungkin kehilangan beberapa integrasi Visual Studio untuk SQL Server (Proyek SQL Server). Jika Anda tidak peduli atau tidak terlalu terikat pada mereka, maka itu tidak masalah.

JeffO
sumber
2

Jika Anda beralih dari satu database ke yang lain selama suatu proyek, Anda mungkin memiliki beberapa tugas murni terkait database (migrasi data) untuk dilakukan jika Anda menggunakan tipe spesifik Sql Server. Juga, jika Anda menulis prosedur tersimpan, Anda harus menulis ulang semuanya.

Kalau tidak, dan untuk proyek baru, tidak ada masalah sama sekali. Cukup gunakan konektor ADO.NET: http://dev.mysql.com/downloads/connector/net/

Dan, seperti yang ditulis Ryan, dengan ADO.NET Anda dapat terhubung ke basis data apa pun yang Anda inginkan selama seseorang menulis konektor untuk itu. Dan ada ... banyak.

Jalayn
sumber
0

Anda dapat menggunakan MySQL dengan ASP.NET MVC, seperti yang orang lain katakan sebelumnya. Satu hal yang Anda akan kehilangan adalah Integrasi CLR dengan SQL Server . Sangat menyenangkan untuk dapat menulis prosedur tersimpan dalam C # jika Anda memiliki perhitungan yang rumit dan itu adalah sesuatu yang tidak dapat Anda tiru dengan menggunakan MySQL.

Jetti
sumber