Criando um repositório genérico para Entity Framework

Standard

Irei demonstrar aqui uma forma bem simples e rápida para implementarmos um repositório genérico com Entity Framework. A ideia de implementação será a mesma utilizada com Linq to SQL, ou seja, nosso repositório será responsável por realizar apenas quatro operações: Selecionar os dados, salvar, apagar e atualizar.

Vamos primeiramente criar uma interface para o repositório:

public interface IRepositorio
{
	void Atualiza();

	void Apaga<TEntidade>(TEntidade entidade) where TEntidade : class;

	void Salva<TEntidade>(TEntidade entidade) where TEntidade : class;

	IQueryable<TEntidade> Seleciona<TEntidade>() where TEntidade : class;
}

Continue reading

Como definir o mapeamento em seus objetos com AutoMapper

Standard

No artigo anterior demonstrei como podemos mapear nossos objetos utilizando a biblioteca do AutoMapper. Como pode ser observado, antes de realizar o mapeamento, devemos definir como o mesmo será efetuado.

Exemplo:

//Define como o mapeamento será efetuado
Mapper.CreateMap<Grupo, Grupo_DTO>();

//Seleciona um objeto qualquer
Grupo g = _db.Grupos.FirstOrDefault();

//Efetua o mapeamento
Grupo_DTO grupoMapeado = Mapper.Map<Grupo, Grupo_DTO>(g);

Continue reading

Mapeando simple objects e complex objects com AutoMapper

Standard

Bom, para quem não sabe o que é o AutoMapper, segue uma definição retirada do próprio site do projeto:

“AutoMapper is a simple little library built to solve a deceptively complex problem – getting rid of code that mapped one object to another.”

Ou seja, é um biblioteca criada para mapeamento entre objetos.

Ao longo do artigo irei demonstrar exemplos de mapeamento entre objetos simples e complexos, além de demonstrar como configurar o mapeamento e exibir os prós e contras (no meu ponto de vista) quanto ao recurso/biblioteca.

Para o exemplo estarei utilizando Linq To SQL com um projeto em ClassLibrary. Continue reading