위키나 포럼, 블로그 소프트웨어와 같은 웹 애플리케이션에서는 관계형 데이터베이스에 데이터를 저장하는 것이 유용할 때가 많습니다. 많은 호스팅 회사가 호스팅 요금제에 단일 데이터베이스를 제공하기 때문에(추가 데이터베이스는 추가 요금이 부과됨) 데이터베이스 객체(테이블, 뷰, 제약 조건 및 저장 프로시저)에 공통 접두사가 있으면 사용자에게 매우 유용합니다. 데이터베이스 부족을 인식하는 애플리케이션은 일반적으로 하드코딩된 테이블 접두사를 사용합니다. 하지만 저는 더 많은 것을 원합니다. 구체적으로, 사용자가 web.config 파일에서 지정할 수 있는 테이블 접두사를 갖고 싶습니다(물론 적절한 기본값을 사용해야 함).
저는 손으로 CRUD 작업을 코딩하는 것을 싫어하기 때문에 유능한 OR/M을 통해 작업하는 것을 선호하며, SQL, Subsonic 및 ADO.Net에 LINQ를 사용했습니다(그리고 즐겼습니다). 그러나 새 프로젝트에서 사용자의 웹 구성 파일에 테이블 접두사를 넣을 때 약간의 어려움을 겪고 있습니다. 이 시나리오를 우아하게 처리할 수 있는 .Net 기반 OR/M 제품이 있나요?
지금까지 제가 생각해낼 수 있었던 최선은 아직 가상의 웹 구성 설정을 기반으로 어떻게든 업데이트해야 하는 외부 매핑 파일과 함께 LINQ를 SQL에 사용하는 것입니다.
더 좋은 해결책이 있나요? 엔티티 프레임워크에서 이 작업을 시도해 보았지만 금방 엉망이 되어버렸습니다. (제가 EF에 익숙하지 않아서요? 그럴 수도 있겠죠.) 서브소닉은 어때요? 코드 생성 시 외에 테이블 접두사를 적용할 수 있는 옵션이 있나요?
이제 엔티티 프레임 워크와 LINQ에서 SQL로이 작업을 수행하는 데 필요한 사항을 조사하고 각각에 필요한 단계를 문서화했습니다. 여기 답변보다 훨씬 길기 때문에 여기에 중복하지 않고 답변에 대한 링크를 제공하는 것으로 만족하겠습니다. 각각에 대해 비교적 많은 작업이 필요하지만 LINQ에서 SQL로 변환하는 것이 더 유연한 솔루션이며 구현하기도 가장 쉽습니다.