2009-12-07 84 views
0

我已经定义了以下变量从变量中删除列(LINQ)

var result = from firoozehDataContext.Reports中的报告select report;

现在如果我想删除变量中的一列,我该怎么办?

+0

你的意思是你想选择除列之外的所有列,或者你想改变其中一列的值吗? – 2009-12-07 06:25:38

+0

不,首先我想从表中选择所有列,然后根据选定的复选框筛选该列的哪个用户想要显示的结果。 – Sadegh 2009-12-07 08:19:51

+0

@Sadegh:你如何向用户显示数据?您是否在使用WinForms或ASP.NET?你使用什么控制?有两种方法可以解决这个问题。只需将需要的列下拉并将其绑定到控件,或者使用控件内置功能来隐藏和取消隐藏列(如果您使用的控件没有这些功能,则会获得新的控件)。 – jason 2009-12-07 14:20:36

回答

2

除非您对性能有严重担忧,否则这应该在UI级别处理,而不是在数据访问代码中处理。

我得到的印象是,您正在使用此查询的结果并将其绑定到具有自动生成列的网格或列表。但是,控制哪些列在网格中可见而不是动态构建SQL SELECT查询会更容易(也更安全)。自动生成的列仅适用于脚手架场景。

为什么我建议不要做你正在做的事情的另一个好的理由是,每当最终用户决定隐藏(或重新显示)另一列时,你都不得不重新运行整个查询。这几乎肯定不是你真正想要的。

我会简单地选择所有的列,可能可用,并且隐藏那些应该作为UI代码的一部分。