2010-05-06 5 views
3

이전에 비슷한 질문을 알고 있습니다.Entity Framework 4 : 어떤 접근 방식이 가장 좋음

xsd에서 생성 된 데이터 개체 (여기에는 db 모델도 있음)로 시작하여 거의 1 : 1을 단일 SQL Server 데이터베이스에 유지해야합니다. 엔티티의 수가 적고 (10), db 삽입/업데이트/삭제 (주로 upserts)에 필요한 로직이 얇습니다 (일부는 있음에도 불구하고).

어떤 접근 방식이 가장 좋을까요?

  1. 아마, DB에서 엔티티를 생성하고, 수동으로 런타임시 XSD에게 EFX 엔티티에 엔티티를지도
  2. 법인 FX는 codeSmith처럼 T4 또는 무언가를 사용하여 생성 된 SQL Server 저장 발동 아무 ORM하지
  3. 엔티티 FX는이 DB에서 edmx 파일을 생성 한 후 POCO 접근 를 사용하여 직접
  4. 코드 전용 EFX 접근 방식 (가장 바보 같은 아이디어 중 하나처럼 보이는 (내가한다고 가정 ObjectContext는 파생 클래스가 을 handcoding 후) XSD 생성 된 개체를 유지 나는 내게 본 Ave)
  5. 다른 건 없나요?

특히 유지 관리 측면에서 - 속성이 XSD 생성 엔터티에 추가되는 경우 어떻게됩니까? 각 접근 방식에 어느 정도의 노력이 필요합니까?

로직이 슬림하고 복잡한 매핑 (m : n)이 없기 때문에 1로 갈 것입니다. 그러나 데이터 모델이보다 복잡한 도메인 모델로 발전 할 가능성이 있으며, 그 다음에는 아무것도 구현하지 않으려합니다.

각 EFx 접근법이 런타임 성능 측면에서 얼마나 나쁘지는 않습니까?

답변

1

귀하의 결정은 귀하의 신청서의 장래 방향에 따라 크게 결정되어야합니다.

엔터티에 Entity Framework 어셈블리 (System.Data.Entity)에 대한 종속성을 부여하지 않으려면 주로 옵션 3을 고려해야합니다. Entity/DAL/BL 계층을 다른 응용 프로그램과 독립적 인 어셈블리로 배포하거나 공유하려는 경우 옵션 3을 고려하십시오. 이렇게하면 Entity를 지속성 구현과 분리 할 수 ​​있습니다. 그러나 여러 지속성 구현을 기대하지 않고 EF 어셈블리에 대한 종속성에 신경 쓰지 않는다면 옵션 1 또는 2가 정상적으로 작동합니다.

제한된 지속성 논리가 필요한 경우 큰 성능 향상을 위해 Entity Framework에서 compiled queries을 조사해야합니다.