私は、Linq-to-SQLを使用している大きなプロジェクトを持つ顧客のために働いています。Entity Frameworkには当時いくつかの主要な機能が欠けていて、Linq-to-SQLのパフォーマンスははるかに優れていたため、プロジェクトが開始されたとき、それは明らかな選択でした。
現在、EFは進化しており、Linq-to-SQLには非同期サポートが欠けているため、拡張性の高いサービスに最適です。1秒あたり100を超えるリクエストがある場合があり、データベースを最適化したにもかかわらず、ほとんどのクエリの完了には数ミリ秒かかります。同期データベース呼び出しのため、スレッドはブロックされ、他の要求には使用できません。
この機能のみを目的として、Entity Frameworkに切り替えることを検討しています。MicrosoftがLinq-to-SQLに非同期サポートを実装しなかったのは残念です(またはコミュニティがそれをできるように、オープンソース化したためです)。
2018年12月の補遺: Microsoftは.NET Coreに移行し、Linq-2-SQLは.NET Coreをサポートしていないため、EFに移行して、将来EF.Coreに移行できるようにする必要があります。
LLBLGenなど、検討する他のいくつかのオプションもあります。これはすでに存在しており、MSデータソリューション(ODBC、ADO、ADO.NET、Linq-2-SQL、EF、EF.core)よりも将来性が証明されている成熟したORMソリューションです。