Инкапсулировать предикат в Select

#entity-framework-6

Вопрос:

Как инкапсулировать встроенный if в этом примере в метод для повторного использования? Я попытался с выражением и функцией, как в «где клаузулы», но безуспешно.

 // Current
db.Some.Select(s => new { Id = s.Id, Number = s.FooId != null ? s.Foo.Number : s.Bar.Number }

// Expected
db.Some.Select(s => new { Id = s.Id, Number = s.GetNumber() }