Linq-to-SQL을 사용하는 큰 프로젝트가있는 고객을 위해 일하고 있습니다. Entity Framework에는 당시 주요 기능이 부족하고 Linq-to-SQL의 성능이 훨씬 좋았 기 때문에 프로젝트가 시작되었을 때 확실한 선택이었습니다.
이제 EF가 발전했으며 Linq-to-SQL에는 비동기 지원이 부족하여 확장 성이 뛰어난 서비스에 적합합니다. 초당 100 개 이상의 요청이 있으며 데이터베이스를 최적화했지만 대부분의 쿼리는 여전히 완료하는 데 몇 밀리 초가 걸립니다. 동기식 데이터베이스 호출로 인해 스레드가 차단되어 다른 요청에 사용할 수 없습니다.
우리는이 기능만을 위해 Entity Framework로 전환하려고합니다. Microsoft가 Linq-to-SQL에 대한 비동기 지원을 구현하지 않았거나 커뮤니티가이를 수행 할 수 있도록 오픈 소스로 구현하지 않은 것은 부끄러운 일입니다.
부록 2018 년 12 월 : Microsoft는 .NET Core로 전환하고 있으며 Linq-2-SQL은 .NET Core에서 지원되지 않으므로 향후 EF.Core로 마이그레이션 할 수 있도록 EF로 이동해야합니다.
LLBLGen 과 같은 다른 옵션도 고려해야 합니다. 이미 오랜 기간 동안 존재하고 MS 데이터 솔루션 (ODBC, ADO, ADO.NET, Linq-2-SQL, EF, EF.core)보다 미래에 입증 된 성숙한 ORM 솔루션입니다.