私たちは、C# コード ビハインドを使用した ASP.NET Web アプリケーションに取り組んでいます。データベースは InnoDB を使用した MySQL 5.1 です。データ アクセス層は、ADO.NET を使用してストアド プロシージャを呼び出し、結果セットからさまざまなデータ構造を構築します (オブジェクト マッピングなし)。これは問題なく動作しますが、少し冗長です。
驚くべきことではありませんが、データ モデルの最初のバージョンを設計するときにいくつかの間違いを犯しましたが、その経験によって私たちは賢くなり、データ モデルをリファクタリングすることにしました。データ アクセス層を変更する必要はありませんが、そのためのオプションも検討しています。
最近の ORM ツールの人気を無視することは困難です。彼らに慣れていないために、私たちは遅れているか何かのように感じます。それだけでなく、データ モデルを適切に説明するオブジェクト モデルを既に設計しています。検討する主な ORM ツールは、NHibernate、ADO.NET Entity Framework、および LINQ to SQL です。完全なORMツールよりも軽量であることを(SOで)読んだので、LINQ to SQLをお勧めします。
ORM ツールを使用することの欠点の 1 つは習得に時間がかかることだと考えていますが、LINQ を使用することで、記述しなければならないコードの量が減り、長期的には時間を節約できることはすでにわかっています。ただし、SQL Server ではなく MySQL を使用しています。
私の質問は、DBLinqは実稼働システムで十分に機能するでしょうか? それとも、LINQ to SQL は、SQL Server 2008 に移行する十分な理由になるのでしょうか? ちなみに、私は MySQL よりも SQL Server を使用したいと思っていますが、コストは明らかな欠点です。BizSpark で 3 年間使用した後、6,000 ドルを支払う必要があります。または、代わりに他の ORM ツールを検討する必要がありますか? それとも、誇大広告を無視して ORM ツールを使用せずに、LINQ to DataSetを利用するべきでしょうか?
SO で DBLinq に関する情報を検索しましたが、DBLinq タグの付いた質問は 17 件しか見つからなかったので、人気がないようです。
編集
MySQL用のdotConnectはLINQをサポートしていますが、それは別のオプションです。
そのドライバーが LINQ クエリを作成するのにどれだけうまく機能するかについて誰か話してもらえますか?