2016-10-28 2 views

답변

1

이것은 크게 논란의 여지가 있으므로 다음을 "대답"으로 간주하십시오.

EF의 컨텍스트는 작업 단위이며 DbSets는 리포지토리입니다. 함께 데이터베이스를 통해 추상화를 형성합니다. SaveChanges 메소드는 각 저장소에 대한 모든 변경 사항을 커밋합니다.

사람들이 저장소 패턴을 사용하여 내부적으로 컨텍스트/DbSet을 사용하는 IRepository를 만드는 많은 예제가 있습니다. 그러나 이렇게함으로써 당신은 : 당신의 인터페이스부터 EF의 기능을 잃고 추상화

  • 를 통해 추상화를 만드는

    • 구현을 숨 깁니다

    이 추가 추상화를 만들 것입니다 이유는 당신이 할 수 있다는 것입니다 EF를 다른 데이터베이스/스토리지라고 바꾸십시오. 하지만 여기에 yagni이 있다고 생각합니다. SQL 데이터베이스를 대상으로하는 프로젝트를 시작한다면 고객이 예를 들어 Oracle로 바꿀 가능성은 얼마나됩니까?

    희망이 도움이됩니다.

  • +0

    내 의견은 너와 같아. 그리고 나는 그 저장소가 EF 그 자체에 대한 박탈을 할 것이라고 생각합니까? –

    관련 문제