MySQLをデータベースとして使用してASP.NET MVCアプリケーションを開発できますか?


8

データベースとしてMSSQLを使用しているASP.NET Webサイトを見てきました。少し前に開発しました。MySQLの場合、MSSQLだけが無料の代替手段として利用できるのはなぜですか。それで、問題は、MSSQLをASP.NETアプリケーションと同じくらい簡単にMySQLデータベースに統合することは可能ですか、そうするためにいくつかのAPIを使用する必要がありますか?


8
SqlServer Express(MSスタックの開発者が非常に一般的に使用しています)も無料です。
アダムクロスランド2011

次に、統合が十分に簡単なのに、なぜMySQLを介してMSSQLを選択するのか。コストは大きな要因ではありませんが、それでも要因です。どちらも同等に優れていますが、MySQLは無料です
Pankaj Upadhyay 2011

2
すぐに使えるSQL Serverとの統合は大きなセールスポイントであり、Visual Studioには、モデルやエンティティの生成を容易にするあらゆる種類の高度なツールが付属しています。これは、PHPとMySQLのコンボが非常に人気を博したのと同じ理由です。
Jarrod Nettles、2011

3
開発者の時間で計算した後、MySQLよりもMS SQL Serverを配備する方が安くなるかもしれません。
ボリス・ヤンコフ2011

3
MSツールはMySQLでどの程度うまく機能しますか?MS-SQLとそのツールを知っている開発者にとって、MySQLの方法に移行するのはどれほど簡単ですか。それはあなたがここで考慮していないコストだと思います。
JBキング

回答:


7

ASP.NET/C#/MySQL Webアプリを本番環境で約3年間実行しています。よく動く。また、すべての副業にも使用しています。ADO.NETコネクタはVisual Studioにプラグインし、SQLSERVERコネクタと同様に機能します。ただし、いくつかの落とし穴があります。まず、私が見つけた限り、SQLSERVERのManagement Studioに相当する無料のツールはありません。Aqua Data Studioを使用していますが、少しコストがかかります。MySQL用の無料のRDMSがいくつかありますが、Management Studioに匹敵するものではありません。eclipseにはMySQLのプラグインがあり、それはかなり無料で無料だと聞いていますが、まだ試していません。また、MySQLでは、ストアドプロシージャを変更することはできません。削除して作成することしかできません。これは、ビジュアルスタジオのAにいくつかの問題を引き起こします。

ADO.NET MySQLコネクタは、System.DataおよびSystem.Data.SqlClient名前空間と完全にポリモーフィックであるため、SQLSERVERおよびMySQLのデータベースの複数のバージョンを同時に持つのは簡単です。これは、「私たちはマイクロソフトのみのショップです!」のようなくだらないことを言うMSの仲間である顧客がいる場合に役立ちます。まるで自分が話していることを実際に知っているかのように。これは、あなたが想像する以上に起こります。次に、最初から適切な設計があれば、追加のコーディングを行うことなく、代わりに古いSQLSERVERコードを使用できます。

私の最後の批評は、MySQLが.NETコネクタとDBエンジンの異なるバージョン間の下位互換性を維持しないことで悪名高いということです。MySQLを使用してサーバーをデプロイしている限り、これは問題ありませんが、ホスティングプロバイダーにサイトをデプロイしている場合は、注意してください。

私の意見では、追加の努力をする価値はありますが、多くのオープンソースプロジェクトに固有の欠点がいくつかあります。私の経験では、ms sqlserverと同じようにスケーラブルで高速ですが、T-SQLを知っている場合は、MySQL構文を比較的すばやくピックアップします。


ありがとうメイト、それは本当に役に立ち、私の質問への素晴らしい答えでした
Pankaj Upadhyay 2011

1
無料で、MSSQL Server Management Studioに似ているMySql Workbenchを使用できます
Jetti

@Jetti確かにできます。最新のリリースはとてもいいです。それはまだManagement Studioにキャンドルを保持しません。ただし、私はAqua Data Studioが大好きです。私はすべてのDBプロジェクト(SQLSERVER、MySQL、Oracleなど)に使用しています...
Jonathan Henson

15

WebテクノロジとしてのASP.NET。特定のデータベースに関連付けられていません。そのため、NHibernateまたは標準のデータアクセスメソッドを使用して、バックエンド上のMySQLに接続できます。


2

アプリケーションはデータベースと同じように簡単に接続できますが、SQL Server(SQL Serverプロジェクト)の一部のVisual Studioインテグレーションを利用できない可能性があります。気にしない、またはあまり愛着がなければ、それは問題ではありません。


2

プロジェクトの途中でデータベースを切り替える場合、SQL Server固有のタイプを使用している場合は、純粋にデータベース関連のタスク(データ移行)を実行する必要がある場合があります。また、ストアドプロシージャを作成した場合は、すべてを書き換える必要があります。

それ以外の場合、および新しいプロジェクトの場合は、まったく問題ありません。ADO.NETコネクタを使用するだけです:http : //dev.mysql.com/downloads/connector/net/

そして、Ryanが書いたように、ADO.NETを使用すると、誰かがそのコネクタを作成している限り、任意のデータベースに接続できます。そして、たくさんあります...


0

他の誰もが以前に言ったように、ASP.NET MVCでMySQLを使用できます。失うものの1つは、SQL ServerとのCLR統合です。複雑な計算があり、MySQLを使用して複製できない場合は、C#でストアドプロシージャを記述できると便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.