あなたは何を待つべきですか?あなたがそれについて考えるならば、あなたが過去に書いたであろうどんなコードも、それが当時と同じように今日もうまくいくでしょう。LINQは、これらの以前の方法のほとんどよりも生産性が高いですか?私の意見では、そうですが、それなら私はLINQが本当に好きです。Linq To Entitiesの方が優れていますか?いいえ、それはまったく異なり、正直に言うと、多くの場合、かなり機能します。LINQのIJW(それはうまく機能します!)要素は本当に信じられないほどです。これは、非常に長い間Microsoftから生まれた最もエレガントなテクノロジーの1つです。将来、もっと良いものはありますか?最も可能性が高い。しかし、私たちは現在生きており、コーディングを行っています。将来を待つことは愚か者の用事です。地平線のすぐ上には常により良いものがあるからです。
とはいえ、これは抽象化の良い議論です。クラスを設計するときに、自分自身に問いかけてください。アプリケーションの残りの部分を壊すことなく、データレイヤーのX(Linq、ADO.Netなど)を置き換えることはできますか?「はい」と答えられる場合は、おそらくかなり良いデザインになっています。適切なデータレイヤーを実行することは実際にはそれほど難しくなく、Linqから他のORM(エンティティへのリンク、nHibernateなど)に切り替える柔軟性、または完全に異なるバックエンドに切り替える柔軟性を可能にします。 Webサービス、または次の素晴らしいものは何でも。
また、気が楽になれば、LINQはどこにも行きません。言語の一部であり、モノラルで実装されており、より多くのlinqプロバイダーが追加されています。Microsoftが別のテクノロジに移行した場合でも、Linqを使用およびサポートしているユーザーが表示されます。地獄、それはすでにある程度Linq to Entitiesで起こっており、Linqを使用している開発者の大多数がL2Eをほとんど無視していることがわかります。今日LINQを使用することの唯一の大きな欠点は、無料で利用できる堅固なMySQL / PostOgre linqプロバイダーがないことですが、いくつかの作業が行われています。