2012-06-19 4 views
0

Am Afraid 여기에있는 일을 과용하는 경우.Asp.Net의 데이터 액세스 레이어

우리는 최근 DAl, 서비스 및 DTO를위한 .Net 프로젝트 containig 다른 클래스 라이브러리를 시작했습니다.

질문은 깨끗하고 유지 관리가 쉬운 DAL 레이어에 대한 질문입니다. Entity Framework 4.1을 사용하고 싶었습니다.

그래서 DAO 및 DAOImpl methodolgy 또는 엔티티 프레임 워크를 사용하여 일반 ADO.Net을 선택하는 방법에 대해 아직 명확하지 않습니다. 누구나 최선의 방법을 제안 해주십시오.

답변

1

당신에게 있다면

나는 PLINQO 시도를 줘야 할 것. 항상 ADO.NET과 사용자 고유의 구현을 사용하는 것이 더 좋지만, 유지 관리 및 최적화와 병행 성, 캐싱 및 BO, DAL 및 데이터베이스의 매핑과 같은 복잡한 사례 처리가 포함됩니다.

비즈니스 가치와 기능에 더 집중하고 싶다면 Entity Framework (현재 4.3 버전 출시 예정, 5.0 출시 예정)를 선택하십시오. 이점은 신중하게 테스트되었고 동시성, 캐싱 및 매핑을위한 솔루션을 이미 포함하고있는 DAL을 사용하는 것입니다.

하지만 다른 레이어에서 Entity Framework의 사용을 추상화하기 위해 Repository와 Unit of Work 패턴을 사용하는 것이 좋습니다. 그런 다음 나중에 다른 레이어에 영향을주지 않고 기본 기술을 완전히 변경할 수 있습니다 (예를 들어 성능이 좋지 않은 경우 EF를 자체 ADO.NET 구현으로 대체 할 수 있습니다).

빌드해야하는 응용 프로그램의 유형과 성능 요구 사항에 따라 다릅니다. EF를 사용하면 실제로 작업량이 줄어들고 훨씬 더 빠른 결과를 얻을 수 있습니다. 또한 개발 팀의 기능에 달려 있습니다. 프로젝트에 참여하는 고위 개발자와 건축가 만 있다면 DAL을 쉽게 만들 수 있습니다. 그러나 초보자에게는 좋은, 최적화 된 강력한 DAL을 구현하는 것이 정말 어렵습니다.

도움이 되었기를 바랍니다.

0

저는 DAL에서 ADO.NET과 DTO의 조합을 사용 해왔고 기억하기 때문에 엔티티와 메서드를 만드는 전 과정을 제어한다는 사실을 매우 좋아합니다. 그러나 모든 저장 프로 시저에 대해 모든 엔터티 및 메서드에 대한 클래스를 작성해야하는 대가를 치러야합니다. 나는 상관하지 않지만 최근에 나는 PLINQO for LINQ to SQL을 발견했으며 그것을 사랑합니다. 높은 수준의 사용자 정의를 허용하면서 데이터베이스 스키마를 기반으로 클래스의 생성/업데이트가 용이합니다. 그것의 기본적으로 스테로이드에 LINQ2SQL. 나는 또한 nHibernate을 좋아하지만 PLINQO보다 가파른 학습 곡선을 가지고 있다고 생각합니다. 내가 그것은 당신이 당신의 자신의 사용자 정의 DAL을 만들어 넣어하는 방법을 많은 작업에 따라 달라집니다

+0

? 상업적인가? –

+0

코드 네임 도구가 필요합니다. 상업용이지만 적당합니다. – Dimitri

관련 문제