变量在Linq中选择项目以及如何通过linq中的变量访问属性

时间:2012-07-20 11:59:22

标签: c# linq

我有一个非常简单的场景:

我有一张结构表:

TableTest:
   - col1
   - col2
   - col3
   - col4

现在我有一个用户界面,用户可以选择这些列(ListBox中的columnNames或列名称的checkboxList)和一个按钮。

现在,如果用户选择前两列,则结果集应包含仅包含这两列的行。如果用户选择前三列,则结果集应包含仅包含这三列的行。

即。我想要类似下面的场景

        MetaTable userMeta = db.Mapping.GetTable(typeof(ThreatMaster));
        var columnNames = userMeta.RowType.PersistentDataMembers;


        IList<string> selectedColumns = columnNames.Where(c=>!c.IsAssociation)
                                       .Select(c=>c.Name).ToList(); 

        objDataContext.TableTests.Select(selectedColumns);

也。我做了objDataContext.TableTests,如果我想提供来自不同表的列?

:D:D ..在Linq中效率不高。

请查看我的问题是否有意义或有效,或者我只是错过了某些内容,一些基本知识并且走错了方向

我该怎么办? 我经历了thisthis问题......

1 个答案:

答案 0 :(得分:0)

IList<string> selectedColumns = columnNames.Where(c=>!c.IsAssociation)
                                           .Select(c=>c.Name).ToList();

但是,我发现您希望将此结果与另一个选择一起使用。我建议你使用动态LINQ,here作为Scott的介绍