¿Alguien me puede mostrar cómo indicar qué columnas me gustaría que volviera en tiempo de ejecución desde una instrucción LINQ To SQL?LINQ To SQL Dynamic Select
Estoy permitiendo que el usuario seleccione elementos en una lista de casilla de verificación que representa las columnas que les gustaría mostrar en una vista de cuadrícula que está vinculada a los resultados de una consulta L2S.
Puedo generar dinámicamente la cláusula WHERE pero no puedo hacer lo mismo con la pieza SELECCIONAR. Este es un ejemplo:
var query = from log in context.Logs select log;
query = query.Where(Log => Log.Timestamp > CustomReport.ReportDateStart);
query = query.Where(Log => Log.Timestamp < CustomReport.ReportDateEnd);
query = query.Where(Log => Log.ProcessName == CustomReport.ProcessName);
foreach (Pair filter in CustomReport.ExtColsToFilter)
{
sExtFilters = "<key>" + filter.First + "</key><value>" + filter.Second + "</value>";
query = query.Where(Log => Log.FormattedMessage.Contains(sExtFilters));
}
re el alcance de la variable 'sExtFilters': http://stackoverflow.com/questions/1095707/what-is-the-exact-definition-of-a-closure/1095770#1095770 –
¡El temido cierre de bucle! –
P.S. Estoy eliminando la etiqueta 'dynamic-linq' porque esa etiqueta se refiere a la [extensión de consulta dinámica] (http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1 -using-the-linq-dynamic-query-library.aspx) (nota: eso no te ayudará aquí, por desgracia). – Aaronaught