Я играю с некоторыми вещами 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 };
Основываясь на данных в памяти (без гигантских операторов ввода), как мне это сделать, если это возможно?