0

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

我有一个结构表:

TableTest:
   - col1
   - col2
   - col3
   - col4

现在我有一个 UI,用户可以在其中从这些列中进行选择(ListBox 中的 columnNames 或 Column Names 的 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 中效率不高。

请看看我的问题是否有意义或有效,或者我只是错过了一些东西,一些基础知识并朝着错误的方向前进

我该怎么做?我在这里经历了这个这个问题......

4

1 回答 1

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

但是,我看到您想将此结果与另一个选择一起使用。我推荐你使用动态 LINQ,这里有 Scott 的介绍

于 2012-07-20T12:01:30.283 回答