DAL com dapper e C #
Eu tenho uma camada de acesso a dados que utiliza o Dapper, mas não posso deixar de sentir que poderia ser muito mais elegante. O DAL está apenas passando parâmetros e mapeando o modelo de acordo com as respostas nomeadas do modelo, para que a parte seja direta pelo menos, mas eu odeio código que parece duplicado.
Aqui está um exemplo
public IEnumerable<Product> ProductSearch(int? userId, DateTime? modifiedAfter, DateTime? modifiedBefore, Guid? productId)
{
IList<Product> products;
using (var connection = _connection.OpenConnection())
{
const string sproc = "dbo.stp_Product_Search";
products = connection.Query<JobProduct>(sproc, new
{
User_ID = userId,
Modified_After = modifiedAfter,
Modified_Before = modifiedBefore,
Product_ID = productId
}, commandType: CommandType.StoredProcedure)
.ToList();
}
return products;
}
Eu tenho muito código assim, mas com diferentes parâmetros e entidades usados. Alguém tem bons exemplos?