【发布时间】:2010-06-07 14:05:15
【问题描述】:
谁能告诉我如何指出我希望在运行时从 LINQ To SQL 语句返回哪些列?
我允许用户在复选框列表中选择项目,该复选框表示他们希望在绑定到 L2S 查询结果的网格视图中显示的列。
我能够动态生成 WHERE 子句,但无法对 SELECT 片段执行相同操作。这是一个示例:
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));
}
【问题讨论】:
-
是
sExtFilters变量的范围:stackoverflow.com/questions/1095707/… -
P.S.我正在删除
dynamic-linq标签,因为该标签引用 dynamic query extension(注意:这对你没有帮助,很遗憾)。 -
感谢您提醒我注意范围陷阱。
标签: c# asp.net linq-to-sql