0

我正在学习 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);

        }

MyEntitiesVS在EDMX文件中创建的对象在哪里。

所以我的问题是,如果我可以简单地从 ViewModel 调用 MyEntities,为什么我要将存储库(对 的引用MyEntities)传递给每个 ViewModel?

4

1 回答 1

0

因为它通过将与数据库交互的代码与驱动应用程序客户端部分的代码分开,从而使您的代码在本质上更具可测试性。

有关存储库模式及其一般用途的更多说明,请参阅此处此处的帖子。

于 2012-12-19T15:00:31.190 回答