/ / EntityFramework 5 e Repositórios - entidade-estrutura, repositório

EntityFramework 5 e Repositórios - entidade-estrutura, repositório

Estou aprendendo EF 5 e estou tentando entender o motivo de passar um repositório da janela principal (ponto de carga) para um View Model.

Eu li que a melhor maneira de usar context é através do uso block igual a:

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

}

Onde MyEntities é o objeto criado pelo VS no arquivo EDMX.

Então, a minha pergunta é se eu posso simplesmente chamar MyEntities de um ViewModel, por que eu iria passar um repositório (uma referência para MyEntities) em cada ViewModel?

Respostas:

0 para resposta № 1

Porque ele torna seu código inerentemente mais testável separando o código que interage com seu banco de dados do código que direciona a parte do lado do cliente de seu aplicativo.

Veja as postagens Aqui e Aqui para mais explicações sobre o padrão do repositório e seus usos gerais.