2012-12-19 41 views
0

我正在學習EF 5,並試圖理解從主窗口(加載點)將存儲庫傳遞到View Model的原因。EntityFramework 5和存儲庫

我已閱讀,使用context最好的方式是通過使用block像這樣:

 // within CompanyViewModel 
     using (var _context = new MyEntities()) 
     { 
      var _query = from co in _context.Companies 
         select co; 
      this.AllCompanies = new ObservableCollection<Models.Company>(_query); 

     } 

其中MyEntities是VS在EDMX文件中創建的對象。

所以我的問題是,如果我可以簡單地調用ViewModel的MyEntities,爲什麼我會通過一個存儲庫(參考MyEntities)到每個ViewModel?

回答

0

因爲它通過將與數據庫交互的代碼與驅動應用程序的客戶端部分的代碼分離,從而使您的代碼更具可測性。

查看帖子herehere有關存儲庫模式及其一般用途的更多說明。