我正在学习EF 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是在EDMX文件中由VS创建的对象。
所以我的问题是,如果我可以简单地从ViewModel调用MyEntities,为什么我要将存储库(对MyEntities的引用)传递到每个ViewModel中?
发布于 2012-12-19 23:00:31
因为它将与数据库交互的代码与驱动应用程序的客户端部分的代码分开,从而使您的代码本质上更易于测试。
有关存储库模式及其一般用途的更多解释,请参阅帖子here和here。
https://stackoverflow.com/questions/13954839
复制相似问题