我有一个包含40(int)列的表,我需要根据用户输入获取某些列,有时它可能是1,有时它可能全部为40,我怎么能用LINQ做到这一点?
答案 0 :(得分:2)
答案 1 :(得分:0)
它有多少行?只需总是获取所有40列然后忽略您不需要的值可能更简单。如果这会产生性能问题,那么您可以使用选择扩展名来选择所需的列:
IQueryable<MyResult> myResult;
if (wantColumnFoo) {
myResult = table.Select(x => new MyResult { x.Id, Foo = x.Foo });
} else {
myResult = table.Select(x => new MyResult { x.Id, Foo = null });
}
但如果您需要像这样处理所有40列,那很快就会有很多工作。