0

我有数据库有5个视图(SQL Server 2008),客户端需要一个前端Web(MVC4)来查看带有过滤器的数据。我正在使用实体框架4映射到数据库...不知道如何调整通常强制执行CRUD的Repository模式的实现。该应用程序是只读的,不删除,添加或更新。只是获得和过滤能力?如何处理仅显示EF4 plus Repository Pattern的视图的应用程序?

+0

也许您应该首先问问题,您如何以最简单的方式提供只读数据。为什么你需要一个仓库?而且,当您可以按原样显示视图数据时,您甚至不需要视图模型。所以也许过滤一个DbSet就剩下了。 – 2014-12-02 20:31:59

+0

Good Point Gert,我有时会被困在以下约定和模式中。 – Chaka 2014-12-02 21:50:11

回答

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>

就实体框架而言,它可以与视图无缝协作。您只需指定您的实体应该附加的视图作为表名称:

[Table("SomeView")] 
public class SomeEntityFromView 
{ 
    ... 
} 
相关问题