0

SQL Server 2008 DB에 액세스하거나 수정하기 위해 응용 프로그램에서 SP 만 사용할 수있는 프로젝트가 있습니다. 저는 SP 만 접근을 포기하고 DB에서 SQL에 Linq를 직접 사용하도록 요청한 개발자가 있습니다. 나는 이것을 허락할지 어떨지를 결정해야한다. 다른 정보를 추가해야하는데 프로젝트가 커지고 있고 가까운 미래에 병합 복제를 사용하는 두 번째 SQL 서버 시스템이 필요할 수도 있습니다.병합 복제를 사용하여 데이터베이스에 액세스하기 위해 저장 프로 시저만을 사용하면 어떤 이점이 있습니까?

SP를 사용하는 것이 병합 복제 시나리오에서 유리하다는 점을 믿었 기 때문에이 문제가 발생했습니다. 충돌이 발생하지 않아 성능이 향상 될 수 있습니다. .

이 진술에 진실이 있습니까? 이 진술을 증명하거나 반증하는 참조로 링크 할 수 있습니까? 당신 의견은 뭐니?

이것은 결정을 내리는 데 결정적인 요소가되었습니다.

+0

데이터 액세스와 관련하여 어떤 패턴이 사용되고 있습니까? 즉, 리파지토리 패턴을 사용하여 데이터 액세스 세부 정보로부터 응용 프로그램을 보호하는 경우 리포지토리를 * anything *으로 대체 할 수 있다는 것을 알고 있으므로 걱정할 필요가 없습니다. Linq to Sql, 일반 오래된 ADO.NET 또는 ORM. – Fenton

+0

현재 데이터 액세스 레이어에는 올바른 플러그 형 패턴이 없습니다. 그러나이 레거시 코드에 추가 된 모든 새 코드는 사용자가 언급 한 것을 허용하기위한 인터페이스 구현을 시작합니다. 그러나 SP에서 다른 솔루션으로 변경하는 데는 항상 많은 작업이 필요하므로 지금 올바른 결정을 내리고 싶습니다. 병합 복제 기능이있는 DB에 SP 전용 시스템을 사용하는 데있어 장점이나 단점이 있다면 어떤 정보가 있습니까? – Durden81

답변

1

저장 프로 시저 또는 데이터를 변경하는 다른 방법은 실제로 병합 복제에서 요소가 배포 데이터베이스로 푸시 다운되도록 변경을 트리거하지 않기 때문에 실제로는 고려해야 할 요소가 아닙니다.

예를 들어, 저장 프로 시저를 통해 행을 편집하거나 Linq를 통해 Sql로 행을 편집하면 변경 내용 추적, 병합 및 게시가 동일합니다.

potential for concurrency issues에 대한 질문이 있으며이 시나리오를 테스트하는 것이 좋습니다.

Linq to SQL을 사용하는 경우 make sure you understand when a statement will be executed해야합니다. 이는 병합 복제와 관련이 없습니다.

최종 목표는 변경을 위해 변경하려는 개발자를 처리하는 것입니다. Linq가 SQL을 사용하면 특정 애플리케이션에 어떤 이점이 있습니까? Linq to SQL을 선택하기 전에 다른 데이터 액세스 솔루션을 살펴 보았습니다.

Linq to SQL은 일부 응용 프로그램에 적합하기 때문에 모든 응용 프로그램에 완벽하다는 의미는 아니며 이것이 귀하의 결정에 영향을 주어야한다고 생각합니다.

개인적으로 귀하의 경우 데이터 액세스를 완전히 분리 할 때까지는 저장 프로 시저를 유지할 것이므로이 단계에서는 더 중요한 작업입니다.