Les comparto mi funcion generica que aprovecha el uso de funciones anonimas como parametros para filtrar, ordenar y seleccionar los datos dandole dinamismo a la implementacion. considere _librosLt como el listado de libros disponibles para consultar
public IEnumerable<dynamic> GetCustomBook(
Func<Book, dynamic> select,
Func<Book, bool> where,
Func<Book, object> order,
int take,
int skip = 0)
{
return this._librosLt
.Where(where)
.OrderBy(order)
.Take(take)
.Select(select);
}
Y asi seria su invocacion
LinqQueries queries = new LinqQueries();
var selectCustom = queries.GetCustomBook(select: x => new Book { Title = x.Title, PageCount = x.PageCount },
where: x => x.PageCount > 400,
order: x => x.PublishedDate,
take: 4,
skip: 0);
foreach (var i in selectCustom)
Console.WriteLine(string.Format("{0, -60} {1, 15}\n", i.Title, i.PageCount));
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?