0

뷰가 5 개 (SQL Server 2008) 인 데이터베이스가 있으며 필터가있는 데이터를 보려면 프런트 엔드 웹 (MVC4)이 필요합니다. Entity Framework 4를 사용하여 데이터베이스에 매핑합니다 ... 일반적으로 CRUD를 적용하는 리포지토리 패턴 구현을 조정하는 방법을 잘 모릅니다. 응용 프로그램은 읽기 전용이며, DELETE, ADD 또는 UPDATE는 없습니다. 그냥 GET 및 필터링 능력?EF4와 리포지토리 패턴이있는보기 만 표시하는 응용 프로그램은 어떻게 처리합니까?

+0

가장 간단한 방법으로 읽기 전용 데이터를 어떻게 제공 할 수 있는지 먼저 질문해야합니다. 왜 저장소가 필요할까요? 그리고 뷰 데이터를 그대로 표시 할 수있는 경우 뷰 모델조차 필요하지 않습니다. 그래서 아마도 DbSet을 필터링하는 것만 남았습니다. –

+0

Good Point Gert, 때로는 관습과 패턴을 따라 붙어 있습니다. – Chaka

답변

0

일반적으로 같은 것을 할 것 저장소 패턴 구현 :

public class ReadOnlyRepository<TEntity> : IReadOnlyRepository 
    where TEntity : class 
{ 
    // Read-only methods here 
} 

public class Repository<TEntity> : ReadOnlyRepository<TEntity>, IRepository 
    where TEntity : class 
{ 
    // Write methods here 
} 

을 그런 다음 읽기 전용 액세스하려는 ReadOnlyRepository<SomeReadOnlyEntity>를 주입 할 수있다.

Entity Framework가 실행되는 한보기와 ​​완벽하게 작동합니다. 엔티티가 테이블 이름으로 첨부해야하는보기를 지정하기 만하면됩니다.

[Table("SomeView")] 
public class SomeEntityFromView 
{ 
    ... 
}