Vamos criar um projeto chamado ProjetoOne.CamadaDeDados, neste projeto vamos criar uma pasta "Consultas" e outra "Repositorios":

Nosso primeiro repositório é o RepositorioPessoa, herdando da nossa interface IPessoaRepository, criada no projeto ProjetoOne.Dominio.
A interface IPessoaRepository, implementa os métodos Save, Delete, GetById, GetAll, ExecuteQuery.
Com isso para cada repositório, teremos nossos métodos implementados de acordo com a entidade relacionada, conforme a imagem abaixo:

Veja no método Save eu instancio o contexto e verifico se o Id é igual a zero, com isso eu identifico que é um novo objeto, se não for zero , eu mudo a propriedade State para EntityState.Modified , da minha entidade do contexto em questão;
Referente ao Id=0, eu atribuo na minha entidade Poco do meu Domínio, ou seja, para cada objeto criado , no construtor do objeto, eu atribuo Id=0;

Após a verificação , para saber se meu objeto esta sendo adicionado ou alterado, eu chamo o SaveChanges(), enviando as informações para o banco de dados. Conforme a imagem abaixo:

Método Delete():

Método GetById()

GetAll()

ExecuteQuery()

Bom por hoje é só, ate nosso próximo post.
Nenhum comentário:
Postar um comentário