我有一个非常简单的场景:
我有一张结构表:
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中效率不高。
请查看我的问题是否有意义或有效,或者我只是错过了某些内容,一些基本知识并且走错了方向
答案 0 :(得分:0)
IList<string> selectedColumns = columnNames.Where(c=>!c.IsAssociation)
.Select(c=>c.Name).ToList();
但是,我发现您希望将此结果与另一个选择一起使用。我建议你使用动态LINQ,here作为Scott的介绍