我正在玩一些Linq-SQL的东西,做这样的事情:
var foo = from f in db.Foo where f.Bar > 5 select f;
这一切都很好,花花公子,我知道我也可以这样做:
var foo = from f in db.Foo where f.Bar > 5 select new { f.Bar, f.Baz };
我想知道的是,如果我想在运行时确定要选择哪些Foo部分,我可以将该查询的选择部分分解出来吗?如:
var foo = from f in db.Foo where f.Bar > 5 select SomeMethodThatReturnsThePropertiesOfFooIReallyWant();
编辑澄清:我正在寻找SomeMethod ...()的语法和返回类型.
如果我想这样做一次:
select new { f.Bar, f.Baz };
但其他时候这样做:
select new { f.Baz, f.Other };
基于内存中的数据(没有做一个巨大的案例陈述),如果可能的话,我该如何做?