如何处理仅显示EF4 plus存储库模式的视图的应用程序?

时间:2014-12-02 17:49:54

标签: sql-server-2008 asp.net-mvc-4 views entity-framework-4.1

我的数据库有5个视图(SQL Server 2008),客户端需要前端Web(MVC4)才能使用过滤器查看数据。我正在使用Entity Framework 4映射到数据库...不确定如何调整通常强制执行CRUD的Repository模式的实现。该应用程序是只读的,没有DELETE,ADD或UPDATE。只是GET和过滤能力?

1 个答案:

答案 0 :(得分: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
{
    ...
}