0
我有數據庫有5個視圖(SQL Server 2008),客戶端需要一個前端Web(MVC4)來查看帶有過濾器的數據。我正在使用實體框架4映射到數據庫...不知道如何調整通常強制執行CRUD的Repository模式的實現。該應用程序是隻讀的,不刪除,添加或更新。只是獲得和過濾能力?如何處理僅顯示EF4 plus Repository Pattern的視圖的應用程序?
我有數據庫有5個視圖(SQL Server 2008),客戶端需要一個前端Web(MVC4)來查看帶有過濾器的數據。我正在使用實體框架4映射到數據庫...不知道如何調整通常強制執行CRUD的Repository模式的實現。該應用程序是隻讀的,不刪除,添加或更新。只是獲得和過濾能力?如何處理僅顯示EF4 plus Repository Pattern的視圖的應用程序?
通常情況下,在實施資源庫模式,你會做這樣的事情:
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
{
...
}
也許您應該首先問問題,您如何以最簡單的方式提供只讀數據。爲什麼你需要一個倉庫?而且,當您可以按原樣顯示視圖數據時,您甚至不需要視圖模型。所以也許過濾一個DbSet就剩下了。 – 2014-12-02 20:31:59
Good Point Gert,我有時會被困在以下約定和模式中。 – Chaka 2014-12-02 21:50:11