从表中选择数据的逻辑

时间:2014-02-26 11:05:29

标签: linq entity-framework sql-server-2008 sql-server-2005 linq-to-sql

我要求从表中获取记录。我想根据条件从DB中获取数据列。

假设我有一个网格,它同样代表数据库中的表。此网格在每个标题内的标题中都有一个复选框。

如果选中了与UserId相对应的复选框,我必须得到“UserId”列,如下所示

1  
2  

如果用户也使用它检查了Name,那么现在我的列表中还应包含名称:

1     First    
2     Second   

如果用户也点击地址,我也必须得到地址。

表/网格在这里:

UserId    Name      Address
----------------------------
  1       First     America  
  2       Second    France

我尝试使用以下查询,但我怎么能在单个查询中连接更多搜索列,如::

var ll = DB.Users.Select(d => d.Name).ToList();

现在,我必须在上面的查询中再引入一列。我该怎么办?

1 个答案:

答案 0 :(得分:0)

为每个列组合创建单独的LINQ查询,或尝试使用可解决此问题的存储过程。

使用原始SQL,您可以构建一个动态查询,该查询将根据复选框参数返回不同的列。

修改 由于您只想使用LINQ,我建议您返回所有可能的列,并在应用程序的演示文稿部分过滤掉不需要的列。