ここでの回答は、Linq2Sql と EF の違いの多くをカバーしていますが、あまり注目されていない重要な点があります。Linq2Sql は SQL Server のみをサポートしているのに対し、EF は次の RDBMS のプロバイダーを持っています。
マイクロソフト提供:
- SQL Server、OBDC、および OLE DB 用の ADO.NET ドライバー
サード パーティ プロバイダー経由:
- MySQL
- オラクル
- DB2
- VistaDB
- SQLite
- PostgreSQL
- Informix
- U2
- サイベース
- シナジェックス
- 火の鳥
- Npgsql
いくつか挙げると。
これにより、EF はリレーショナル データ ストアに対する強力なプログラミングの抽象化になります。つまり、開発者は、基になるデータ ストアに関係なく、一貫したプログラミング モデルを使用できます。これは、幅広い一般的な RDBMS と相互運用できることを確認したい製品を開発している場合に非常に役立ちます。
この抽象化が役立つもう 1 つの状況は、多数のさまざまな顧客や組織内のさまざまなビジネス ユニットと連携する開発チームの一員であり、RDBMS の数を減らすことで開発者の生産性を向上させたい場合です。さまざまな RDBMS の上でさまざまなアプリケーションをサポートするために熟知しています。