프로 LINQ 논쟁은 데이터베이스 개발에 대한 역사가없는 사람들 (일반적으로)에게서 온 것 같습니다.
특히 VS DB Pro 또는 Team Suite와 같은 제품을 사용하는 경우 여기에 작성된 많은 주장이 적용되지 않습니다.
유지 관리 및 테스트 어려움 : VS는 전체 구문 검사, 스타일 검사, 참조 및 제약 조건 검사 등을 제공합니다. 또한 전체 단위 테스트 기능과 리팩토링 도구를 제공합니다.
LINQ는 ACID 테스트에 실패하여 진정한 단위 테스트를 불가능하게 만듭니다.
LINQ : 디버깅이 더 쉬운 이유는 무엇입니까? VS를 사용하면 관리되는 코드와 SP의 정기적 디버깅을 완벽하게 활용할 수 있습니다.
배포 스크립트가 아닌 단일 DLL로 컴파일 : VS는 다시 한 번 전체 데이터베이스를 구축 및 배포하거나 데이터에 안전한 증분 변경을 수행 할 수 있습니다.
LINQ로 TSQL을 배울 필요가 없습니다. 아니요, LINQ를 배워야합니다. 이점은 어디에 있습니까?
나는 이것이 이것이 유익하다고 생각하지 않습니다. 격리 된 상태에서 무언가를 변경할 수 있다는 것이 이론적으로는 좋은 것처럼 들릴 수 있지만, 변경 사항이 계약을 이행한다고해서 그것이 올바른 결과를 반환한다는 의미는 아닙니다. 올바른 결과가 무엇인지 결정하려면 컨텍스트가 필요하며 호출 코드에서 해당 컨텍스트를 가져옵니다.
음, 느슨하게 결합 된 앱은 유연성을 높이기 위해 모든 훌륭한 프로그래머의 궁극적 인 목표입니다. 개별적으로 변경 사항을 변경할 수 있다는 것은 환상적이며, 여전히 적절한 결과를 반환하는지 확인하는 단위 테스트입니다.
여러분 모두 화를 내기 전에 LINQ는 그 자리에 있으며 미래가 큽니다. 그러나 복잡하고 데이터 집약적 인 애플리케이션의 경우 스토어드 프로 시저를 대신 할 준비가되지 않았다고 생각합니다. 이것은 올해 TechEd에서 MVP에 의해 반향 된 견해였습니다 (그들은 이름이 남지 않을 것입니다).
편집 : LINQ to SQL 저장 프로 시저 측면은 여전히 더 읽을 필요가 있습니다-찾은 내용에 따라 위의 diatribe를 변경할 수 있습니다.)