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